From c3796e7b5597b231bbe9363366af26ec5b93eb5f Mon Sep 17 00:00:00 2001 From: karl Date: Sat, 8 May 2021 00:12:38 +0200 Subject: [PATCH] Add basic Particle setup Compiles, but doesn't work --- SConstruct | 1 + Shader/bump.fs | 95 + Shader/bump.vs | 37 + Shader/mc.fs | 15 + Shader/mc.gs | 204 ++ Shader/mc.vs | 38 + Shader/noise.fs | 20 + Shader/noise.vs | 13 + Shader/particle_render.fs | 14 + Shader/particle_render.gs | 56 + Shader/particle_render.vs | 20 + Shader/particle_update.gs | 93 + Shader/particle_update.vs | 25 + Shader/text.fs | 13 + Shader/text.vs | 12 + cpp/ParticleSystem.cpp | 160 + cpp/RenderBackend.cpp | 4 +- cpp/vendor/glad.c | 4857 +++++++++++++++++++++++++++---- include/Gedeng/Camera.h | 6 +- include/Gedeng/ParticleSystem.h | 85 + include/Gedeng/Shader.h | 128 +- include/Gedeng/Spatial.h | 4 +- 22 files changed, 5255 insertions(+), 645 deletions(-) create mode 100644 Shader/bump.fs create mode 100644 Shader/bump.vs create mode 100644 Shader/mc.fs create mode 100644 Shader/mc.gs create mode 100644 Shader/mc.vs create mode 100644 Shader/noise.fs create mode 100644 Shader/noise.vs create mode 100644 Shader/particle_render.fs create mode 100644 Shader/particle_render.gs create mode 100644 Shader/particle_render.vs create mode 100644 Shader/particle_update.gs create mode 100644 Shader/particle_update.vs create mode 100644 Shader/text.fs create mode 100644 Shader/text.vs create mode 100644 cpp/ParticleSystem.cpp create mode 100644 include/Gedeng/ParticleSystem.h diff --git a/SConstruct b/SConstruct index 8411d48..bca9884 100644 --- a/SConstruct +++ b/SConstruct @@ -57,3 +57,4 @@ testEnv.Program('test/bin/vector-test.out', [catch_cpp, 'test/vector/vector-test testEnv.Program('test/bin/test-app.out', Glob('test/test-app/*.cpp')) testEnv.Program('test/bin/parallax-demo.out', Glob('test/parallax-demo/*.cpp')) +testEnv.Program('test/bin/particle-demo.out', Glob('test/particle-demo/*.cpp')) diff --git a/Shader/bump.fs b/Shader/bump.fs new file mode 100644 index 0000000..899bce5 --- /dev/null +++ b/Shader/bump.fs @@ -0,0 +1,95 @@ +#version 430 core + +out vec4 FragColor; + +in VS_OUT { + vec3 FragPos; + vec2 TexCoords; + vec3 TangentLightPos; + vec3 TangentViewPos; + vec3 TangentFragPos; +} fs_in; + +layout (binding = 0) uniform sampler2D albedoMap; +layout (binding = 1) uniform sampler2D normalMap; +layout (binding = 2) uniform sampler2D depthMap; + +uniform float bump_depth; +uniform float number_of_steps; +uniform float number_of_refinement_steps; + +vec2 get_parallax_offset_uv(vec2 uv, vec3 view_direction) { + float layer_depth = 1.0 / number_of_steps; + float refinement_layer_depth = layer_depth / number_of_refinement_steps; + + float current_layer_depth = 0.0; + + // the amount to shift the texture coordinates per layer (from vector total_uv_shift) + vec2 total_uv_shift = view_direction.xy / view_direction.z * bump_depth; + vec2 uv_shift_per_layer = total_uv_shift / number_of_steps; + vec2 uv_refine_shift_per_layer = total_uv_shift / (number_of_steps * number_of_refinement_steps); + + // Initial values + vec2 current_uv = uv; + float current_bump_value = 1.0 - texture(depthMap, current_uv).r; + + // Loop until our depth is greater than the value in the bump map, meaning our ray collided + while(current_layer_depth < current_bump_value) { + current_uv -= uv_shift_per_layer; + current_bump_value = 1.0 - texture(depthMap, current_uv).r; + current_layer_depth += layer_depth; + } + + // Reverse the last operations so we're at the point before the collision + current_uv += uv_shift_per_layer; + current_bump_value = 1.0 - texture(depthMap, current_uv).r; + + // Loop again for the refinement steps + while(current_layer_depth < current_bump_value) { + current_uv -= uv_refine_shift_per_layer; + current_bump_value = 1.0 - texture(depthMap, current_uv).r; + current_layer_depth += refinement_layer_depth; + } + + // Referse the UV operation again and return the result + current_uv += uv_refine_shift_per_layer; + + return current_uv; +} + +void main() { + // Offset texture coordinates with Parallax Mapping + vec3 view_direction = normalize(fs_in.TangentViewPos - fs_in.TangentFragPos); + vec2 uv = fs_in.TexCoords; + + uv = get_parallax_offset_uv(fs_in.TexCoords, view_direction); + + // Discard if the parallax offset moved us outside of the texture + if (uv.x > 1.0 || uv.y > 1.0 || uv.x < 0.0 || uv.y < 0.0) + discard; + + // Get normal from normal map and scale it to -1..1 + vec3 normal = texture(normalMap, uv).rgb; + normal = normalize(normal * 2.0 - 1.0); + + // Get albedo color + vec3 color = texture(albedoMap, uv).rgb; + + // Ambient lighting + vec3 ambient = 0.1 * color; + + // Apply albedo with intensity based on the dot product between the light direction and the normal here + vec3 light_direction = normalize(fs_in.TangentLightPos - fs_in.TangentFragPos); + float light_normal_dot = max(dot(light_direction, normal), 0.0); + vec3 albedo = light_normal_dot * color; + + // Specular lighting + vec3 halfway_reflected_light_direction = normalize(light_direction + view_direction); + float spec = pow(max(dot(normal, halfway_reflected_light_direction), 0.0), 32.0); + + vec3 specular = vec3(0.2) * spec; + + // Apply + FragColor = vec4(ambient + albedo + specular, 1.0); +} + diff --git a/Shader/bump.vs b/Shader/bump.vs new file mode 100644 index 0000000..becd764 --- /dev/null +++ b/Shader/bump.vs @@ -0,0 +1,37 @@ +#version 430 + +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec3 aNormal; +layout (location = 2) in vec2 aTexCoords; +layout (location = 3) in vec3 aTangent; +layout (location = 4) in vec3 aBitangent; + +out VS_OUT { + vec3 FragPos; + vec2 TexCoords; + vec3 TangentLightPos; + vec3 TangentViewPos; + vec3 TangentFragPos; +} vs_out; + +uniform mat4 projection; +uniform mat4 view; +uniform mat4 model; + +uniform vec3 lightPos; +uniform vec3 viewPos; + +void main() { + gl_Position = projection * view * model * vec4(aPos, 1.0); + vs_out.FragPos = vec3(model * vec4(aPos, 1.0)); + vs_out.TexCoords = aTexCoords; + + vec3 T = normalize(mat3(model) * aTangent); + vec3 B = normalize(mat3(model) * aBitangent); + vec3 N = normalize(mat3(model) * aNormal); + mat3 TBN = transpose(mat3(T, B, N)); + + vs_out.TangentLightPos = TBN * lightPos; + vs_out.TangentViewPos = TBN * viewPos; + vs_out.TangentFragPos = TBN * vs_out.FragPos; +} diff --git a/Shader/mc.fs b/Shader/mc.fs new file mode 100644 index 0000000..b2df4a6 --- /dev/null +++ b/Shader/mc.fs @@ -0,0 +1,15 @@ +#version 430 + +layout (binding = 0) uniform sampler3D densities; +layout (binding = 1) uniform sampler2D albedo; +layout (binding = 2) uniform sampler2D bump; + +in vec3 varTextureG; +in vec2 varUV; + +out vec4 color; + +void main(void) { + vec3 f = texture(albedo, varUV).rgb; + color = vec4(f, 1.0); +} diff --git a/Shader/mc.gs b/Shader/mc.gs new file mode 100644 index 0000000..bb7c9bf --- /dev/null +++ b/Shader/mc.gs @@ -0,0 +1,204 @@ +#version 430 + +layout (points) in; +layout (triangle_strip, max_vertices = 12) out; + +uniform mat4 proj; +uniform mat4 view; + +in vec3 varTexture[]; +in int varIndex[]; + +out vec3 varTextureG; +out vec2 varUV; + +vec3 vectors[13] = { + vec3(0.0, 0.0, 0.0), vec3(0.5, 1.0, 1.0), vec3(0.0, 0.5, 1.0), + vec3(0.0, 1.0, 0.5), vec3(1.0, 0.5, 1.0), vec3(1.0, 1.0, 0.5), + vec3(0.5, 1.0, 0.0), vec3(1.0, 0.5, 0.0), vec3(0.0, 0.5, 0.0), + vec3(0.0, 0.0, 0.5), vec3(0.5, 0.0, 1.0), vec3(1.0, 0.0, 0.5), + vec3(0.5, 0.0, 0.0)}; + +int table[3072] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, + 2, 5, 2, 4, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5, 6, 7, 3, 1, 2, 0, 0, 0, 0, 0, 0, 7, 4, 6, 4, + 6, 1, 0, 0, 0, 0, 0, 0, 3, 6, 2, 7, 6, 2, 7, 2, 4, 0, 0, + 0, 3, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 1, 8, 1, 8, 2, + 0, 0, 0, 0, 0, 0, 6, 3, 8, 1, 5, 4, 0, 0, 0, 0, 0, 0, 6, + 5, 8, 4, 5, 8, 4, 8, 2, 0, 0, 0, 5, 3, 7, 3, 7, 8, 0, 0, + 0, 0, 0, 0, 5, 1, 7, 2, 1, 7, 2, 7, 8, 0, 0, 0, 1, 3, 4, + 8, 3, 4, 8, 4, 7, 0, 0, 0, 8, 7, 2, 4, 7, 2, 0, 0, 0, 0, + 0, 0, 9, 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 3, 10, 3, 10, + 1, 0, 0, 0, 0, 0, 0, 4, 1, 5, 2, 10, 9, 0, 0, 0, 0, 0, 0, + 4, 10, 5, 9, 10, 5, 9, 5, 3, 0, 0, 0, 9, 2, 10, 5, 7, 6, 0, + 0, 0, 0, 0, 0, 9, 3, 10, 3, 10, 1, 7, 6, 5, 0, 0, 0, 7, 4, + 6, 4, 6, 1, 9, 10, 2, 0, 0, 0, 4, 10, 7, 3, 10, 7, 3, 10, 9, + 3, 6, 7, 9, 2, 10, 3, 8, 6, 0, 0, 0, 0, 0, 0, 9, 8, 10, 6, + 8, 10, 6, 10, 1, 0, 0, 0, 6, 8, 3, 10, 2, 9, 1, 4, 5, 0, 0, + 0, 4, 5, 6, 4, 10, 6, 8, 10, 6, 8, 10, 9, 5, 3, 7, 3, 7, 8, + 10, 2, 9, 0, 0, 0, 9, 7, 1, 9, 10, 1, 5, 7, 1, 9, 7, 8, 9, + 10, 8, 4, 10, 8, 4, 10, 7, 3, 2, 1, 9, 10, 8, 4, 10, 8, 4, 8, + 7, 0, 0, 0, 10, 4, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 4, 11, + 1, 2, 3, 0, 0, 0, 0, 0, 0, 5, 11, 1, 11, 1, 10, 0, 0, 0, 0, + 0, 0, 10, 2, 11, 3, 2, 11, 3, 11, 5, 0, 0, 0, 7, 5, 6, 4, 11, + 10, 0, 0, 0, 0, 0, 0, 3, 2, 1, 11, 4, 10, 5, 7, 6, 0, 0, 0, + 7, 11, 6, 10, 11, 6, 10, 6, 1, 0, 0, 0, 7, 6, 3, 7, 11, 3, 2, + 11, 3, 2, 11, 10, 10, 4, 11, 6, 8, 3, 0, 0, 0, 0, 0, 0, 6, 1, + 8, 1, 8, 2, 11, 4, 10, 0, 0, 0, 10, 1, 11, 1, 11, 5, 8, 3, 6, + 0, 0, 0, 10, 8, 5, 10, 11, 5, 6, 8, 5, 10, 8, 2, 8, 7, 3, 7, + 3, 5, 10, 11, 4, 0, 0, 0, 10, 11, 2, 7, 11, 2, 7, 11, 8, 1, 4, + 5, 7, 11, 8, 1, 11, 8, 1, 11, 10, 1, 3, 8, 10, 11, 2, 7, 11, 2, + 7, 2, 8, 0, 0, 0, 11, 9, 4, 9, 4, 2, 0, 0, 0, 0, 0, 0, 1, + 4, 3, 11, 4, 3, 11, 3, 9, 0, 0, 0, 2, 1, 9, 5, 1, 9, 5, 9, + 11, 0, 0, 0, 3, 5, 9, 11, 5, 9, 0, 0, 0, 0, 0, 0, 2, 4, 9, + 4, 9, 11, 6, 5, 7, 0, 0, 0, 7, 6, 11, 3, 6, 11, 3, 6, 9, 4, + 5, 1, 7, 1, 9, 7, 11, 9, 2, 1, 9, 7, 1, 6, 7, 6, 11, 3, 6, + 11, 3, 11, 9, 0, 0, 0, 11, 9, 4, 9, 4, 2, 6, 8, 3, 0, 0, 0, + 1, 4, 6, 9, 4, 6, 9, 4, 11, 9, 8, 6, 6, 8, 5, 9, 8, 5, 9, + 8, 11, 1, 3, 2, 6, 8, 5, 9, 8, 5, 9, 5, 11, 0, 0, 0, 7, 11, + 9, 7, 9, 9, 5, 4, 2, 5, 2, 2, 9, 11, 8, 11, 8, 7, 1, 4, 5, + 0, 0, 0, 7, 8, 11, 8, 11, 9, 1, 3, 2, 0, 0, 0, 9, 11, 8, 11, + 8, 7, 0, 0, 0, 0, 0, 0, 11, 7, 12, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 11, 7, 12, 3, 2, 1, 0, 0, 0, 0, 0, 0, 11, 7, 12, 5, 4, 1, + 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 2, 4, 12, 7, 11, 0, 0, 0, 11, + 5, 12, 5, 12, 6, 0, 0, 0, 0, 0, 0, 11, 5, 12, 5, 12, 6, 2, 1, + 3, 0, 0, 0, 11, 4, 12, 1, 4, 12, 1, 12, 6, 0, 0, 0, 11, 2, 6, + 11, 12, 6, 3, 2, 6, 11, 2, 4, 7, 12, 11, 8, 6, 3, 0, 0, 0, 0, + 0, 0, 2, 8, 1, 8, 1, 6, 11, 12, 7, 0, 0, 0, 1, 4, 5, 12, 7, + 11, 6, 8, 3, 0, 0, 0, 11, 12, 4, 8, 12, 4, 8, 12, 2, 5, 7, 6, + 8, 12, 3, 11, 12, 3, 11, 3, 5, 0, 0, 0, 8, 12, 2, 5, 12, 2, 5, + 12, 11, 5, 1, 2, 8, 3, 1, 8, 12, 1, 4, 12, 1, 4, 12, 11, 11, 12, + 4, 8, 12, 4, 8, 4, 2, 0, 0, 0, 12, 11, 7, 10, 9, 2, 0, 0, 0, + 0, 0, 0, 1, 10, 3, 10, 3, 9, 7, 11, 12, 0, 0, 0, 12, 7, 11, 1, + 4, 5, 10, 2, 9, 0, 0, 0, 12, 7, 9, 5, 7, 9, 5, 7, 3, 10, 11, + 4, 6, 12, 5, 12, 5, 11, 2, 9, 10, 0, 0, 0, 12, 9, 3, 12, 3, 3, + 11, 10, 1, 11, 1, 1, 11, 4, 12, 1, 4, 12, 1, 4, 6, 9, 10, 2, 3, + 9, 6, 9, 6, 12, 4, 10, 11, 0, 0, 0, 3, 6, 8, 11, 12, 7, 9, 10, + 2, 0, 0, 0, 7, 11, 6, 10, 11, 6, 10, 11, 1, 8, 12, 9, 12, 8, 9, + 6, 7, 5, 1, 2, 3, 6, 7, 5, 9, 8, 12, 5, 7, 6, 11, 4, 10, 0, + 0, 0, 8, 12, 3, 11, 12, 3, 11, 12, 5, 2, 9, 10, 5, 11, 1, 11, 1, + 10, 8, 12, 9, 0, 0, 0, 8, 12, 9, 4, 10, 11, 2, 1, 3, 0, 0, 0, + 11, 10, 4, 9, 12, 8, 0, 0, 0, 0, 0, 0, 12, 10, 7, 10, 7, 4, 0, + 0, 0, 0, 0, 0, 12, 10, 7, 10, 7, 4, 3, 2, 1, 0, 0, 0, 5, 7, + 1, 12, 7, 1, 12, 1, 10, 0, 0, 0, 12, 7, 10, 3, 7, 10, 3, 7, 5, + 3, 2, 10, 4, 5, 10, 6, 5, 10, 6, 10, 12, 0, 0, 0, 4, 5, 10, 6, + 5, 10, 6, 5, 12, 2, 1, 3, 12, 6, 10, 1, 6, 10, 0, 0, 0, 0, 0, + 0, 3, 2, 6, 10, 2, 6, 10, 6, 12, 0, 0, 0, 4, 7, 10, 7, 10, 12, + 3, 6, 8, 0, 0, 0, 6, 8, 2, 6, 2, 2, 7, 12, 10, 7, 10, 10, 5, + 7, 1, 12, 7, 1, 12, 7, 10, 3, 6, 8, 10, 12, 2, 12, 2, 8, 5, 7, + 6, 0, 0, 0, 4, 12, 3, 4, 5, 3, 8, 12, 3, 4, 12, 10, 8, 2, 12, + 2, 12, 10, 5, 1, 4, 0, 0, 0, 8, 3, 12, 1, 3, 12, 1, 12, 10, 0, + 0, 0, 10, 12, 2, 12, 2, 8, 0, 0, 0, 0, 0, 0, 12, 9, 7, 2, 9, + 7, 2, 7, 4, 0, 0, 0, 12, 4, 3, 12, 9, 3, 1, 4, 3, 12, 4, 7, + 2, 1, 5, 2, 9, 5, 7, 9, 5, 7, 9, 12, 12, 7, 9, 5, 7, 9, 5, + 9, 3, 0, 0, 0, 2, 9, 4, 6, 9, 4, 6, 9, 12, 6, 5, 4, 12, 6, + 9, 6, 9, 3, 4, 5, 1, 0, 0, 0, 2, 9, 1, 12, 9, 1, 12, 1, 6, + 0, 0, 0, 3, 9, 6, 9, 6, 12, 0, 0, 0, 0, 0, 0, 12, 9, 7, 2, + 9, 7, 2, 9, 4, 6, 8, 3, 1, 6, 4, 6, 4, 7, 9, 8, 12, 0, 0, + 0, 5, 7, 6, 9, 8, 12, 3, 2, 1, 0, 0, 0, 12, 8, 9, 6, 7, 5, + 0, 0, 0, 0, 0, 0, 4, 2, 5, 2, 5, 3, 12, 9, 8, 0, 0, 0, 12, + 8, 9, 1, 4, 5, 0, 0, 0, 0, 0, 0, 8, 9, 12, 2, 3, 1, 0, 0, + 0, 0, 0, 0, 12, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 8, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 12, 2, 3, 1, 0, 0, 0, 0, + 0, 0, 12, 8, 9, 1, 4, 5, 0, 0, 0, 0, 0, 0, 4, 2, 5, 2, 5, + 3, 12, 9, 8, 0, 0, 0, 12, 8, 9, 6, 7, 5, 0, 0, 0, 0, 0, 0, + 5, 7, 6, 9, 8, 12, 3, 2, 1, 0, 0, 0, 1, 6, 4, 6, 4, 7, 9, + 8, 12, 0, 0, 0, 12, 9, 7, 2, 9, 7, 2, 9, 4, 6, 8, 3, 3, 9, + 6, 9, 6, 12, 0, 0, 0, 0, 0, 0, 2, 9, 1, 12, 9, 1, 12, 1, 6, + 0, 0, 0, 12, 6, 9, 6, 9, 3, 4, 5, 1, 0, 0, 0, 2, 9, 4, 6, + 9, 4, 6, 9, 12, 6, 5, 4, 12, 7, 9, 5, 7, 9, 5, 9, 3, 0, 0, + 0, 2, 1, 5, 2, 9, 5, 7, 9, 5, 7, 9, 12, 12, 4, 3, 12, 9, 3, + 1, 4, 3, 12, 4, 7, 12, 9, 7, 2, 9, 7, 2, 7, 4, 0, 0, 0, 10, + 12, 2, 12, 2, 8, 0, 0, 0, 0, 0, 0, 8, 3, 12, 1, 3, 12, 1, 12, + 10, 0, 0, 0, 8, 2, 12, 2, 12, 10, 5, 1, 4, 0, 0, 0, 4, 12, 3, + 4, 5, 3, 8, 12, 3, 4, 12, 10, 10, 12, 2, 12, 2, 8, 5, 7, 6, 0, + 0, 0, 5, 7, 1, 12, 7, 1, 12, 7, 10, 3, 6, 8, 6, 8, 2, 6, 2, + 2, 7, 12, 10, 7, 10, 10, 4, 7, 10, 7, 10, 12, 3, 6, 8, 0, 0, 0, + 3, 2, 6, 10, 2, 6, 10, 6, 12, 0, 0, 0, 12, 6, 10, 1, 6, 10, 0, + 0, 0, 0, 0, 0, 4, 5, 10, 6, 5, 10, 6, 5, 12, 2, 1, 3, 4, 5, + 10, 6, 5, 10, 6, 10, 12, 0, 0, 0, 12, 7, 10, 3, 7, 10, 3, 7, 5, + 3, 2, 10, 5, 7, 1, 12, 7, 1, 12, 1, 10, 0, 0, 0, 12, 10, 7, 10, + 7, 4, 3, 2, 1, 0, 0, 0, 12, 10, 7, 10, 7, 4, 0, 0, 0, 0, 0, + 0, 11, 10, 4, 9, 12, 8, 0, 0, 0, 0, 0, 0, 8, 12, 9, 4, 10, 11, + 2, 1, 3, 0, 0, 0, 5, 11, 1, 11, 1, 10, 8, 12, 9, 0, 0, 0, 8, + 12, 3, 11, 12, 3, 11, 12, 5, 2, 9, 10, 9, 8, 12, 5, 7, 6, 11, 4, + 10, 0, 0, 0, 12, 8, 9, 6, 7, 5, 1, 2, 3, 6, 7, 5, 7, 11, 6, + 10, 11, 6, 10, 11, 1, 8, 12, 9, 3, 6, 8, 11, 12, 7, 9, 10, 2, 0, + 0, 0, 3, 9, 6, 9, 6, 12, 4, 10, 11, 0, 0, 0, 11, 4, 12, 1, 4, + 12, 1, 4, 6, 9, 10, 2, 12, 9, 3, 12, 3, 3, 11, 10, 1, 11, 1, 1, + 6, 12, 5, 12, 5, 11, 2, 9, 10, 0, 0, 0, 12, 7, 9, 5, 7, 9, 5, + 7, 3, 10, 11, 4, 12, 7, 11, 1, 4, 5, 10, 2, 9, 0, 0, 0, 1, 10, + 3, 10, 3, 9, 7, 11, 12, 0, 0, 0, 12, 11, 7, 10, 9, 2, 0, 0, 0, + 0, 0, 0, 11, 12, 4, 8, 12, 4, 8, 4, 2, 0, 0, 0, 8, 3, 1, 8, + 12, 1, 4, 12, 1, 4, 12, 11, 8, 12, 2, 5, 12, 2, 5, 12, 11, 5, 1, + 2, 8, 12, 3, 11, 12, 3, 11, 3, 5, 0, 0, 0, 11, 12, 4, 8, 12, 4, + 8, 12, 2, 5, 7, 6, 1, 4, 5, 12, 7, 11, 6, 8, 3, 0, 0, 0, 2, + 8, 1, 8, 1, 6, 11, 12, 7, 0, 0, 0, 7, 12, 11, 8, 6, 3, 0, 0, + 0, 0, 0, 0, 11, 2, 6, 11, 12, 6, 3, 2, 6, 11, 2, 4, 11, 4, 12, + 1, 4, 12, 1, 12, 6, 0, 0, 0, 11, 5, 12, 5, 12, 6, 2, 1, 3, 0, + 0, 0, 11, 5, 12, 5, 12, 6, 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 2, + 4, 12, 7, 11, 0, 0, 0, 11, 7, 12, 5, 4, 1, 0, 0, 0, 0, 0, 0, + 11, 7, 12, 3, 2, 1, 0, 0, 0, 0, 0, 0, 11, 7, 12, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 9, 11, 8, 11, 8, 7, 0, 0, 0, 0, 0, 0, 7, 8, + 11, 8, 11, 9, 1, 3, 2, 0, 0, 0, 9, 11, 8, 11, 8, 7, 1, 4, 5, + 0, 0, 0, 7, 11, 9, 7, 9, 9, 5, 4, 2, 5, 2, 2, 6, 8, 5, 9, + 8, 5, 9, 5, 11, 0, 0, 0, 6, 8, 5, 9, 8, 5, 9, 8, 11, 1, 3, + 2, 1, 4, 6, 9, 4, 6, 9, 4, 11, 9, 8, 6, 11, 9, 4, 9, 4, 2, + 6, 8, 3, 0, 0, 0, 7, 6, 11, 3, 6, 11, 3, 11, 9, 0, 0, 0, 7, + 1, 9, 7, 11, 9, 2, 1, 9, 7, 1, 6, 7, 6, 11, 3, 6, 11, 3, 6, + 9, 4, 5, 1, 2, 4, 9, 4, 9, 11, 6, 5, 7, 0, 0, 0, 3, 5, 9, + 11, 5, 9, 0, 0, 0, 0, 0, 0, 2, 1, 9, 5, 1, 9, 5, 9, 11, 0, + 0, 0, 1, 4, 3, 11, 4, 3, 11, 3, 9, 0, 0, 0, 11, 9, 4, 9, 4, + 2, 0, 0, 0, 0, 0, 0, 10, 11, 2, 7, 11, 2, 7, 2, 8, 0, 0, 0, + 7, 11, 8, 1, 11, 8, 1, 11, 10, 1, 3, 8, 10, 11, 2, 7, 11, 2, 7, + 11, 8, 1, 4, 5, 8, 7, 3, 7, 3, 5, 10, 11, 4, 0, 0, 0, 10, 8, + 5, 10, 11, 5, 6, 8, 5, 10, 8, 2, 10, 1, 11, 1, 11, 5, 8, 3, 6, + 0, 0, 0, 6, 1, 8, 1, 8, 2, 11, 4, 10, 0, 0, 0, 10, 4, 11, 6, + 8, 3, 0, 0, 0, 0, 0, 0, 7, 6, 3, 7, 11, 3, 2, 11, 3, 2, 11, + 10, 7, 11, 6, 10, 11, 6, 10, 6, 1, 0, 0, 0, 3, 2, 1, 11, 4, 10, + 5, 7, 6, 0, 0, 0, 7, 5, 6, 4, 11, 10, 0, 0, 0, 0, 0, 0, 10, + 2, 11, 3, 2, 11, 3, 11, 5, 0, 0, 0, 5, 11, 1, 11, 1, 10, 0, 0, + 0, 0, 0, 0, 10, 4, 11, 1, 2, 3, 0, 0, 0, 0, 0, 0, 10, 4, 11, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 8, 4, 10, 8, 4, 8, 7, 0, + 0, 0, 9, 10, 8, 4, 10, 8, 4, 10, 7, 3, 2, 1, 9, 7, 1, 9, 10, + 1, 5, 7, 1, 9, 7, 8, 5, 3, 7, 3, 7, 8, 10, 2, 9, 0, 0, 0, + 4, 5, 6, 4, 10, 6, 8, 10, 6, 8, 10, 9, 6, 8, 3, 10, 2, 9, 1, + 4, 5, 0, 0, 0, 9, 8, 10, 6, 8, 10, 6, 10, 1, 0, 0, 0, 9, 2, + 10, 3, 8, 6, 0, 0, 0, 0, 0, 0, 4, 10, 7, 3, 10, 7, 3, 10, 9, + 3, 6, 7, 7, 4, 6, 4, 6, 1, 9, 10, 2, 0, 0, 0, 9, 3, 10, 3, + 10, 1, 7, 6, 5, 0, 0, 0, 9, 2, 10, 5, 7, 6, 0, 0, 0, 0, 0, + 0, 4, 10, 5, 9, 10, 5, 9, 5, 3, 0, 0, 0, 4, 1, 5, 2, 10, 9, + 0, 0, 0, 0, 0, 0, 9, 3, 10, 3, 10, 1, 0, 0, 0, 0, 0, 0, 9, + 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 2, 4, 7, 2, 0, 0, + 0, 0, 0, 0, 1, 3, 4, 8, 3, 4, 8, 4, 7, 0, 0, 0, 5, 1, 7, + 2, 1, 7, 2, 7, 8, 0, 0, 0, 5, 3, 7, 3, 7, 8, 0, 0, 0, 0, + 0, 0, 6, 5, 8, 4, 5, 8, 4, 8, 2, 0, 0, 0, 6, 3, 8, 1, 5, + 4, 0, 0, 0, 0, 0, 0, 6, 1, 8, 1, 8, 2, 0, 0, 0, 0, 0, 0, + 3, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 7, 6, 2, 7, + 2, 4, 0, 0, 0, 7, 4, 6, 4, 6, 1, 0, 0, 0, 0, 0, 0, 5, 6, + 7, 3, 1, 2, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 5, 2, 5, 2, 4, 0, 0, 0, 0, 0, 0, 4, 1, 5, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; + +void main(void) { + vec4 base = gl_in[0].gl_Position; + int index = varIndex[0] * 12; + for(int i = 0; i < 12; i += 3) { + // TODO: Calculate tangents + vec3 tangent; + vec3 bitangent; + + for(int k = 0; k < 3; k++) { + gl_Position = proj * view * (base + vec4(vectors[table[index + i + k]], 0.0)); + varTextureG = varTexture[0]; + // FIXME: These UV coordinates become stretched on one axis + varUV = vectors[table[index + i + k]].xz; + EmitVertex(); + } + EndPrimitive(); + } +} diff --git a/Shader/mc.vs b/Shader/mc.vs new file mode 100644 index 0000000..4351547 --- /dev/null +++ b/Shader/mc.vs @@ -0,0 +1,38 @@ +#version 430 + +layout (binding = 0) uniform sampler3D densities; + +uniform float step; +uniform float threshold; + +uniform int size_x; +uniform int size_y; +uniform int size_z; + +out vec3 varTexture; +out int varIndex; + +void main(void) { + int id = gl_VertexID; + + // Could be optimized by using bit-wise '>>' and '&', but this is more generic + int x = id % size_x; + int y = (id / size_x) % size_y; + int z = (id / size_x / size_y) % size_z; + + vec3 xyz = vec3(x, y, z); + gl_Position = vec4(xyz, 1.0); + varTexture = xyz * step; + + int b1 = int(texture(densities, varTexture).r < threshold); + int b2 = int(texture(densities, varTexture + vec3(step, 0.0, 0.0)).r < threshold); + int b3 = int(texture(densities, varTexture + vec3(step, 0.0, step)).r < threshold); + int b4 = int(texture(densities, varTexture + vec3(0.0, 0.0, step)).r < threshold); + int b5 = int(texture(densities, varTexture + vec3(0.0, step, 0.0)).r < threshold); + int b6 = int(texture(densities, varTexture + vec3(step, step, 0.0)).r < threshold); + int b7 = int(texture(densities, varTexture + vec3(step, step, step)).r < threshold); + int b8 = int(texture(densities, varTexture + vec3(0.0, step, step)).r < threshold); + + varIndex = (b1 << 7) | (b2 << 6) | (b3 << 5) | (b4 << 4) | + (b5 << 3) | (b6 << 2) | (b7 << 1) | b8; +} diff --git a/Shader/noise.fs b/Shader/noise.fs new file mode 100644 index 0000000..f1230e3 --- /dev/null +++ b/Shader/noise.fs @@ -0,0 +1,20 @@ +#version 430 + +in vec3 varPosition; + +out float noise; + +void main(void) { + // Base: Distance to a helix + vec3 helix_pos = vec3(sin(varPosition.y * 5.0) * 0.2 + 0.5, varPosition.y, cos(varPosition.y * 5.0) * 0.2 + 0.5); + float dist = distance(helix_pos, varPosition); + + noise = 0.6 - dist; + + // Create some blobby shapes on the helix + float f1 = sin((varPosition.x + varPosition.z) * 7.0); + float f2 = cos((varPosition.y + varPosition.x) * 3.0); + float f3 = cos((varPosition.z + varPosition.y) * 8.0); + + noise += abs(f1 + f2 + f3) * 0.1; +} diff --git a/Shader/noise.vs b/Shader/noise.vs new file mode 100644 index 0000000..9ddb068 --- /dev/null +++ b/Shader/noise.vs @@ -0,0 +1,13 @@ +#version 430 + +layout (location = 0) in vec2 position; + +uniform float layer; +uniform float height; + +out vec3 varPosition; + +void main(void) { + gl_Position = vec4(position, 0.0, 1.0); + varPosition = vec3(position.x, position.y + height, layer); +} diff --git a/Shader/particle_render.fs b/Shader/particle_render.fs new file mode 100644 index 0000000..a6468c7 --- /dev/null +++ b/Shader/particle_render.fs @@ -0,0 +1,14 @@ +#version 430 + +uniform sampler2D texture; + +smooth in vec2 tex_coords; +flat in vec4 color_part; + +out vec4 FragColor; + +void main() +{ + vec4 tex_color = texture2D(texture, tex_coords); + FragColor = vec4(tex_color.xyz, 1.0) * color_part; +} diff --git a/Shader/particle_render.gs b/Shader/particle_render.gs new file mode 100644 index 0000000..f012bb1 --- /dev/null +++ b/Shader/particle_render.gs @@ -0,0 +1,56 @@ +#version 430 + +uniform struct Matrices +{ + mat4 projection; + mat4 view; +} matrices; + +uniform vec3 quad1, quad2; + +layout(points) in; +layout(triangle_strip) out; +layout(max_vertices = 4) out; + +in vec3 color_pass[]; +in float lifetime_pass[]; +in float size_pass[]; +in int type_pass[]; + +smooth out vec2 tex_coords; +flat out vec4 color_part; + +void main() { + if(type_pass[0] != 0) { + // This is not a generator particle + + vec3 old_pos = gl_in[0].gl_Position.xyz; + float size = size_pass[0]; + mat4 view_projection_matrix = matrices.projection * matrices.view; + + color_part = vec4(color_pass[0], lifetime_pass[0]); + + vec3 pos = old_pos + (-quad1 - quad2) * size; + tex_coords = vec2(0.0, 0.0); + + gl_Position = view_projection_matrix * vec4(pos, 1.0); + EmitVertex(); + + pos = old_pos + (-quad1 + quad2) * size; + tex_coords = vec2(0.0, 1.0); + gl_Position = view_projection_matrix * vec4(pos, 1.0); + EmitVertex(); + + pos = old_pos + (quad1 - quad2) * size; + tex_coords = vec2(1.0, 0.0); + gl_Position = view_projection_matrix * vec4(pos, 1.0); + EmitVertex(); + + pos = old_pos + (quad1 + quad2) * size; + tex_coords = vec2(1.0, 1.0); + gl_Position = view_projection_matrix * vec4(pos, 1.0); + EmitVertex(); + + EndPrimitive(); + } +} \ No newline at end of file diff --git a/Shader/particle_render.vs b/Shader/particle_render.vs new file mode 100644 index 0000000..468d4f5 --- /dev/null +++ b/Shader/particle_render.vs @@ -0,0 +1,20 @@ +#version 430 + +layout (location = 0) in vec3 position; +layout (location = 2) in vec3 color; +layout (location = 3) in float lifetime; +layout (location = 4) in float size; +layout (location = 5) in int type; + +out vec3 color_pass; +out float lifetime_pass; +out float size_pass; +out int type_pass; + +void main() +{ + gl_Position = vec4(position, 1.0); + color_pass = color; + size_pass = size; + lifetime_pass = lifetime; +} \ No newline at end of file diff --git a/Shader/particle_update.gs b/Shader/particle_update.gs new file mode 100644 index 0000000..eda92ea --- /dev/null +++ b/Shader/particle_update.gs @@ -0,0 +1,93 @@ +#version 430 + +layout(points) in; +layout(points) out; +layout(max_vertices = 40) out; + +// All that we get from vertex shader +in vec3 position_pass[]; +in vec3 velocity_pass[]; +in vec3 color_pass[]; +in float lifetime_pass[]; +in float size_pass[]; +in int type_pass[]; + +// All that we send further +out vec3 position_out; +out vec3 velocity_out; +out vec3 color_out; +out float lifetime_out; +out float size_out; +out int type_out; + +uniform vec3 spawn_position; // Position where new particles are spawned +uniform vec3 spawn_gravity; // Gravity vector for particles - updates velocity of particles +uniform vec3 spawn_velocity_min; // Velocity of new particle - from min to (min+range) +uniform vec3 spawn_velocity_range; + +uniform vec3 spawn_color; +uniform float spawn_size; + +uniform float spawn_lifetime_min, spawn_lifetime_range; // Life of new particle - from min to (min+range) +uniform float time_passed; // Time passed since last frame + +uniform vec3 random_seed; // Seed number for our random number function +vec3 local_seed; + +uniform int number_to_generate; // How many particles will be generated next time, if greater than zero, particles are generated + +float random_zero_to_one() { + uint n = floatBitsToUint(local_seed.y * 214013.0 + local_seed.x * 2531011.0 + local_seed.z * 141251.0); + n = n * (n * n * 15731u + 789221u); + n = (n >> 9u) | 0x3F800000u; + + float fRes = 2.0 - uintBitsToFloat(n); + local_seed = vec3(local_seed.x + 147158.0 * fRes, local_seed.y*fRes + 415161.0 * fRes, local_seed.z + 324154.0*fRes); + + return fRes; +} + +void main() { + local_seed = random_seed; + + // gl_Position doesn't matter now, as rendering is discarded + + position_out = position_pass[0]; + velocity_out = velocity_pass[0]; + + if(type_pass[0] != 0) position_out += velocity_out * time_passed; + if(type_pass[0] != 0) velocity_out += spawn_gravity * time_passed; + + color_out = color_pass[0]; + lifetime_out = lifetime_pass[0] - time_passed; + size_out = size_pass[0]; + type_out = type_pass[0]; + + if(type_out == 0) { + // This is the emitter particle + EmitVertex(); + EndPrimitive(); + + for(int i = 0; i < number_to_generate; i++) + { + position_out = spawn_position; + velocity_out = spawn_velocity_min + vec3( + spawn_velocity_range.x * random_zero_to_one(), + spawn_velocity_range.y * random_zero_to_one(), + spawn_velocity_range.z * random_zero_to_one() + ); + + color_out = spawn_color; + lifetime_out = spawn_lifetime_min + spawn_lifetime_range * random_zero_to_one(); + size_out = spawn_size; + type_out = 1; + + EmitVertex(); + EndPrimitive(); + } + } else if(lifetime_out > 0.0) { + // This is a normal particle which is still alive + EmitVertex(); + EndPrimitive(); + } +} \ No newline at end of file diff --git a/Shader/particle_update.vs b/Shader/particle_update.vs new file mode 100644 index 0000000..95d858b --- /dev/null +++ b/Shader/particle_update.vs @@ -0,0 +1,25 @@ +#version 430 + +layout (location = 0) in vec3 position; +layout (location = 1) in vec3 velocity; +layout (location = 2) in vec3 color; +layout (location = 3) in float lifetime; +layout (location = 4) in float size; +layout (location = 5) in int type; + +out vec3 position_pass; +out vec3 velocity_pass; +out vec3 color_pass; +out float lifetime_pass; +out float size_pass; +out int type_pass; + +void main() +{ + position_pass = position; + velocity_pass = velocity; + color_pass = color; + lifetime_pass = lifetime; + size_pass = size; + type_pass = type; +} \ No newline at end of file diff --git a/Shader/text.fs b/Shader/text.fs new file mode 100644 index 0000000..1c08e18 --- /dev/null +++ b/Shader/text.fs @@ -0,0 +1,13 @@ +#version 430 + +in vec2 TexCoords; +out vec4 color; + +uniform sampler2D text; +uniform vec3 textColor; + +void main() +{ + vec4 sampled = vec4(1.0, 1.0, 1.0, texture(text, TexCoords).r); + color = vec4(textColor, 1.0) * sampled; +} \ No newline at end of file diff --git a/Shader/text.vs b/Shader/text.vs new file mode 100644 index 0000000..073ddb0 --- /dev/null +++ b/Shader/text.vs @@ -0,0 +1,12 @@ +#version 430 + +layout (location = 0) in vec4 vertex; // +out vec2 TexCoords; + +uniform mat4 projection; + +void main() +{ + gl_Position = projection * vec4(vertex.xy, 0.0, 1.0); + TexCoords = vertex.zw; +} \ No newline at end of file diff --git a/cpp/ParticleSystem.cpp b/cpp/ParticleSystem.cpp new file mode 100644 index 0000000..0d71d60 --- /dev/null +++ b/cpp/ParticleSystem.cpp @@ -0,0 +1,160 @@ +#include "Gedeng/ParticleSystem.h" + +namespace Gedeng { + +ParticleSystem::ParticleSystem() { + const char *varyings[6] = {"position_out", "velocity_out", "color_out", "lifetime_out", "size_out", "type_out"}; + + update_shader.add_vertex_shader("Shader/particle_update.vs"); + update_shader.add_geometry_shader("Shader/particle_update.gs"); + update_shader.add_transform_feedback(varyings, 6); + update_shader.link(); + + glGenTransformFeedbacks(1, &transform_feedback_buffer); + + render_shader.add_fragment_shader("Shader/particle_render.fs"); + render_shader.add_vertex_shader("Shader/particle_render.vs"); + render_shader.add_geometry_shader("Shader/particle_render.gs"); + render_shader.link(); + + glGenQueries(1, &query); + + glGenBuffers(2, particle_buffer); + glGenVertexArrays(2, vao); + + Particle part_initialization; + part_initialization.type = PARTICLE_TYPE_GENERATOR; + + for (int i = 0; i < 2; i++) { + glBindVertexArray(vao[i]); + glBindBuffer(GL_ARRAY_BUFFER, particle_buffer[i]); + glBufferData(GL_ARRAY_BUFFER, sizeof(Particle) * max_particle_count, NULL, GL_DYNAMIC_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(Particle), &part_initialization); + + for (int i = 0; i < 6; i++) + glEnableVertexAttribArray(i); + + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Particle), (const GLvoid *)0); // Position + glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, sizeof(Particle), (const GLvoid *)12); // Velocity + glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, sizeof(Particle), (const GLvoid *)24); // Color + glVertexAttribPointer(3, 1, GL_FLOAT, GL_FALSE, sizeof(Particle), (const GLvoid *)36); // Lifetime + glVertexAttribPointer(4, 1, GL_FLOAT, GL_FALSE, sizeof(Particle), (const GLvoid *)40); // Size + glVertexAttribPointer(5, 1, GL_INT, GL_FALSE, sizeof(Particle), (const GLvoid *)44); // Type + } + + current_read_buffer = 0; + current_particle_count = 1; +} + +void ParticleSystem::update(float delta) { + update_shader.use(); + + update_shader.setFloat("time_passed", elapsed_time); + update_shader.setVec3("spawn_position", spawn_position); + update_shader.setVec3("spawn_velocity_min", spawn_velocity_min); + update_shader.setVec3("spawn_velocity_range", spawn_velocity_range); + update_shader.setVec3("spawn_color", spawn_color); + update_shader.setVec3("spawn_gravity", spawn_gravity_vector); + + update_shader.setFloat("spawn_lifetime_min", spawn_lifetime_min); + update_shader.setFloat("spawn_lifetime_range", spawn_lifetime_range); + + update_shader.setFloat("spawn_size", spawn_size); + update_shader.setInt("number_to_generate", 0); + + elapsed_time += delta; + + if (elapsed_time > next_generation_time) { + update_shader.setInt("number_to_generate", target_particle_count); + elapsed_time -= next_generation_time; + + glm::vec3 random_seed = glm::vec3( + 10.0, 10.0, + 10.0); // FIXME: Random glm::vec3(grandf(-10.0f, 20.0f), grandf(-10.0f, 20.0f), grandf(-10.0f, 20.0f)); + update_shader.setVec3("random_seed", random_seed); + } + + glEnable(GL_RASTERIZER_DISCARD); + glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, transform_feedback_buffer); + + glBindVertexArray(vao[current_read_buffer]); + glEnableVertexAttribArray(1); // Re-enable velocity + + glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, particle_buffer[1 - current_read_buffer]); + + glBeginQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, query); + glBeginTransformFeedback(GL_POINTS); + + glDrawArrays(GL_POINTS, 0, current_particle_count); + + glEndTransformFeedback(); + + glEndQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN); + glGetQueryObjectiv(query, GL_QUERY_RESULT, ¤t_particle_count); + + current_read_buffer = 1 - current_read_buffer; + + glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, 0); +} + +void ParticleSystem::set_camera(const Camera &camera) { + projection_matrix = camera.get_projection(); + view_matrix = camera.get_view(); + + quad1 = glm::cross(camera.forward(), camera.up()); + quad1 = glm::normalize(quad1); + + quad2 = glm::cross(camera.forward(), quad1); + quad2 = glm::normalize(quad2); +} + +void ParticleSystem::render() { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE); + glDepthMask(0); + + glDisable(GL_RASTERIZER_DISCARD); + render_shader.use(); + render_shader.setMat4("matrices.projection", projection_matrix); + render_shader.setMat4("matrices.view", view_matrix); + render_shader.setVec3("quad1", quad1); + render_shader.setVec3("quad2", quad2); + render_shader.setInt("texture", 0); + + glBindVertexArray(vao[current_read_buffer]); + glDisableVertexAttribArray(1); // Disable velocity, because we don't need it for rendering + + glDrawArrays(GL_POINTS, 0, current_particle_count); + + glDepthMask(1); + glDisable(GL_BLEND); +} + +void ParticleSystem::set_position(glm::vec3 position) { + this->spawn_position = position; +} +void ParticleSystem::set_velocity(glm::vec3 min, glm::vec3 max) { + this->spawn_velocity_min = min; + this->spawn_velocity_range = max - min; +} +void ParticleSystem::set_gravity(glm::vec3 gravity) { + this->spawn_gravity_vector = gravity; +} +void ParticleSystem::set_color(glm::vec3 color) { + this->spawn_color = color; +} +void ParticleSystem::set_lifetime(float min, float max) { + this->spawn_lifetime_min = min; + this->spawn_lifetime_range = max - min; +} +void ParticleSystem::set_size(float size) { + this->spawn_size = size; +} +void ParticleSystem::set_interval(float interval) { + this->next_generation_time = interval; +} +void ParticleSystem::set_number_of_particles(int number) { + this->target_particle_count = number; +} + +} // namespace Gedeng \ No newline at end of file diff --git a/cpp/RenderBackend.cpp b/cpp/RenderBackend.cpp index 450406e..597cc20 100644 --- a/cpp/RenderBackend.cpp +++ b/cpp/RenderBackend.cpp @@ -4,8 +4,8 @@ namespace Gedeng { void RenderBackend::initialize_window(unsigned int width, unsigned int height, String title) { glfwInit(); - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); - glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 4); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); #ifdef __APPLE__ diff --git a/cpp/vendor/glad.c b/cpp/vendor/glad.c index beedc3b..93409cc 100644 --- a/cpp/vendor/glad.c +++ b/cpp/vendor/glad.c @@ -1,8 +1,8 @@ /* - OpenGL loader generated by glad 0.1.34 on Fri Apr 30 09:36:30 2021. + OpenGL loader generated by glad 0.1.34 on Fri May 7 20:58:05 2021. - Language/Generator: C/C++ + Language/Generator: C/C++ Debug Specification: gl APIs: gl=4.3 Profile: core @@ -14,9 +14,9 @@ Reproducible: False Commandline: - --profile="core" --api="gl=4.3" --generator="c" --spec="gl" --extensions="" + --profile="core" --api="gl=4.3" --generator="c-debug" --spec="gl" --extensions="" Online: - https://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D4.3 + https://glad.dav1d.de/#profile=core&language=c-debug&specification=gl&loader=on&api=gl%3D4.3 */ #include @@ -24,6 +24,34 @@ #include #include +void _pre_call_callback_default(const char *name, void *funcptr, int len_args, ...) { + (void)name; + (void)funcptr; + (void)len_args; +} +void _post_call_callback_default(const char *name, void *funcptr, int len_args, ...) { + GLenum error_code; + + (void)funcptr; + (void)len_args; + + error_code = glad_glGetError(); + + if (error_code != GL_NO_ERROR) { + fprintf(stderr, "ERROR %d in %s\n", error_code, name); + } +} + +static GLADcallback _pre_call_callback = _pre_call_callback_default; +void glad_set_pre_callback(GLADcallback cb) { + _pre_call_callback = cb; +} + +static GLADcallback _post_call_callback = _post_call_callback_default; +void glad_set_post_callback(GLADcallback cb) { + _post_call_callback = cb; +} + static void *get_proc(const char *namez); #if defined(_WIN32) || defined(__CYGWIN__) @@ -262,570 +290,4263 @@ int GLAD_GL_VERSION_4_0 = 0; int GLAD_GL_VERSION_4_1 = 0; int GLAD_GL_VERSION_4_2 = 0; int GLAD_GL_VERSION_4_3 = 0; -PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram = NULL; -PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL; -PFNGLATTACHSHADERPROC glad_glAttachShader = NULL; -PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL; -PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL; -PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed = NULL; -PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL; -PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL; -PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL; -PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL; -PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL; -PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL; -PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL; -PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL; -PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture = NULL; -PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline = NULL; -PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL; -PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL; -PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL; -PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback = NULL; -PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL; -PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer = NULL; -PFNGLBLENDCOLORPROC glad_glBlendColor = NULL; -PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL; -PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL; -PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei = NULL; -PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi = NULL; -PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL; -PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL; -PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei = NULL; -PFNGLBLENDFUNCIPROC glad_glBlendFunci = NULL; -PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL; -PFNGLBUFFERDATAPROC glad_glBufferData = NULL; -PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL; -PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL; -PFNGLCLAMPCOLORPROC glad_glClampColor = NULL; -PFNGLCLEARPROC glad_glClear = NULL; -PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData = NULL; -PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData = NULL; -PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL; -PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL; -PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL; -PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL; -PFNGLCLEARCOLORPROC glad_glClearColor = NULL; -PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL; -PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL; -PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL; -PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL; -PFNGLCOLORMASKPROC glad_glColorMask = NULL; -PFNGLCOLORMASKIPROC glad_glColorMaski = NULL; -PFNGLCOLORP3UIPROC glad_glColorP3ui = NULL; -PFNGLCOLORP3UIVPROC glad_glColorP3uiv = NULL; -PFNGLCOLORP4UIPROC glad_glColorP4ui = NULL; -PFNGLCOLORP4UIVPROC glad_glColorP4uiv = NULL; -PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL; -PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL; -PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL; -PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL; -PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL; -PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL; -PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData = NULL; -PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL; -PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL; -PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL; -PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL; -PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL; -PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL; -PFNGLCREATESHADERPROC glad_glCreateShader = NULL; -PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv = NULL; -PFNGLCULLFACEPROC glad_glCullFace = NULL; -PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL; -PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL; -PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL; -PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL; -PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL; -PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL; -PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines = NULL; -PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL; -PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL; -PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL; -PFNGLDELETESHADERPROC glad_glDeleteShader = NULL; -PFNGLDELETESYNCPROC glad_glDeleteSync = NULL; -PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL; -PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks = NULL; -PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL; -PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL; -PFNGLDEPTHMASKPROC glad_glDepthMask = NULL; -PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL; -PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL; -PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL; -PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL; -PFNGLDETACHSHADERPROC glad_glDetachShader = NULL; -PFNGLDISABLEPROC glad_glDisable = NULL; -PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL; -PFNGLDISABLEIPROC glad_glDisablei = NULL; -PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL; -PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL; -PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL; -PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect = NULL; -PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL; -PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance = NULL; -PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL; -PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL; -PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL; -PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL; -PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect = NULL; -PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL; -PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance = NULL; -PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL; -PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance = NULL; -PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL; -PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL; -PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback = NULL; -PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced = NULL; -PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream = NULL; -PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced = NULL; -PFNGLENABLEPROC glad_glEnable = NULL; -PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL; -PFNGLENABLEIPROC glad_glEnablei = NULL; -PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL; -PFNGLENDQUERYPROC glad_glEndQuery = NULL; -PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed = NULL; -PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL; -PFNGLFENCESYNCPROC glad_glFenceSync = NULL; -PFNGLFINISHPROC glad_glFinish = NULL; -PFNGLFLUSHPROC glad_glFlush = NULL; -PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL; -PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri = NULL; -PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL; -PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL; -PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL; -PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL; -PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL; -PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL; -PFNGLFRONTFACEPROC glad_glFrontFace = NULL; -PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL; -PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL; -PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines = NULL; -PFNGLGENQUERIESPROC glad_glGenQueries = NULL; -PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL; -PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL; -PFNGLGENTEXTURESPROC glad_glGenTextures = NULL; -PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks = NULL; -PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL; -PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL; -PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv = NULL; -PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL; -PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName = NULL; -PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName = NULL; -PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv = NULL; -PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL; -PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL; -PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL; -PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL; -PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL; -PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL; -PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL; -PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL; -PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL; -PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL; -PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL; -PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL; -PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL; -PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL; -PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog = NULL; -PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v = NULL; -PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL; -PFNGLGETERRORPROC glad_glGetError = NULL; -PFNGLGETFLOATI_VPROC glad_glGetFloati_v = NULL; -PFNGLGETFLOATVPROC glad_glGetFloatv = NULL; -PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL; -PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL; -PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL; -PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv = NULL; -PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL; -PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL; -PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL; -PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL; -PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v = NULL; -PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ = NULL; -PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL; -PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel = NULL; -PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel = NULL; -PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL; -PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary = NULL; -PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL; -PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL; -PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog = NULL; -PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv = NULL; -PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex = NULL; -PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation = NULL; -PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex = NULL; -PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName = NULL; -PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv = NULL; -PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv = NULL; -PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL; -PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv = NULL; -PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL; -PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL; -PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL; -PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL; -PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL; -PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL; -PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL; -PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL; -PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL; -PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL; -PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL; -PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL; -PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL; -PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL; -PFNGLGETSTRINGPROC glad_glGetString = NULL; -PFNGLGETSTRINGIPROC glad_glGetStringi = NULL; -PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex = NULL; -PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation = NULL; -PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL; -PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL; -PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL; -PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL; -PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL; -PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL; -PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL; -PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL; -PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL; -PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL; -PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL; -PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL; -PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv = NULL; -PFNGLGETUNIFORMDVPROC glad_glGetUniformdv = NULL; -PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL; -PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL; -PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL; -PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL; -PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL; -PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv = NULL; -PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL; -PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL; -PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL; -PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL; -PFNGLHINTPROC glad_glHint = NULL; -PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData = NULL; -PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData = NULL; -PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer = NULL; -PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer = NULL; -PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage = NULL; -PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage = NULL; -PFNGLISBUFFERPROC glad_glIsBuffer = NULL; -PFNGLISENABLEDPROC glad_glIsEnabled = NULL; -PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL; -PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL; -PFNGLISPROGRAMPROC glad_glIsProgram = NULL; -PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline = NULL; -PFNGLISQUERYPROC glad_glIsQuery = NULL; -PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL; -PFNGLISSAMPLERPROC glad_glIsSampler = NULL; -PFNGLISSHADERPROC glad_glIsShader = NULL; -PFNGLISSYNCPROC glad_glIsSync = NULL; -PFNGLISTEXTUREPROC glad_glIsTexture = NULL; -PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback = NULL; -PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL; -PFNGLLINEWIDTHPROC glad_glLineWidth = NULL; -PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL; -PFNGLLOGICOPPROC glad_glLogicOp = NULL; -PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL; -PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL; -PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier = NULL; -PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading = NULL; -PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL; -PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect = NULL; -PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL; -PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL; -PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect = NULL; -PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui = NULL; -PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv = NULL; -PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui = NULL; -PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv = NULL; -PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL; -PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL; -PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL; -PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL; -PFNGLNORMALP3UIPROC glad_glNormalP3ui = NULL; -PFNGLNORMALP3UIVPROC glad_glNormalP3uiv = NULL; -PFNGLOBJECTLABELPROC glad_glObjectLabel = NULL; -PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel = NULL; -PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv = NULL; -PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri = NULL; -PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback = NULL; -PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL; -PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL; -PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL; -PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL; -PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL; -PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL; -PFNGLPOINTSIZEPROC glad_glPointSize = NULL; -PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL; -PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL; -PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup = NULL; -PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL; -PFNGLPROGRAMBINARYPROC glad_glProgramBinary = NULL; -PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri = NULL; -PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d = NULL; -PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv = NULL; -PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f = NULL; -PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv = NULL; -PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i = NULL; -PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv = NULL; -PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui = NULL; -PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv = NULL; -PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d = NULL; -PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv = NULL; -PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f = NULL; -PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv = NULL; -PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i = NULL; -PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv = NULL; -PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui = NULL; -PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv = NULL; -PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d = NULL; -PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv = NULL; -PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f = NULL; -PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv = NULL; -PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i = NULL; -PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv = NULL; -PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui = NULL; -PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv = NULL; -PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d = NULL; -PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv = NULL; -PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f = NULL; -PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv = NULL; -PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i = NULL; -PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv = NULL; -PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui = NULL; -PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv = NULL; -PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv = NULL; -PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL; -PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup = NULL; -PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL; -PFNGLREADBUFFERPROC glad_glReadBuffer = NULL; -PFNGLREADPIXELSPROC glad_glReadPixels = NULL; -PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL; -PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL; -PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL; -PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback = NULL; -PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL; -PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL; -PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL; -PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL; -PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL; -PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL; -PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL; -PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL; -PFNGLSCISSORPROC glad_glScissor = NULL; -PFNGLSCISSORARRAYVPROC glad_glScissorArrayv = NULL; -PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed = NULL; -PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv = NULL; -PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui = NULL; -PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv = NULL; -PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL; -PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL; -PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding = NULL; -PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL; -PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL; -PFNGLSTENCILMASKPROC glad_glStencilMask = NULL; -PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL; -PFNGLSTENCILOPPROC glad_glStencilOp = NULL; -PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL; -PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL; -PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange = NULL; -PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui = NULL; -PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv = NULL; -PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui = NULL; -PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv = NULL; -PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui = NULL; -PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv = NULL; -PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui = NULL; -PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv = NULL; -PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL; -PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL; -PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL; -PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL; -PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL; -PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL; -PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL; -PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL; -PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL; -PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL; -PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL; -PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D = NULL; -PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D = NULL; -PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample = NULL; -PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D = NULL; -PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample = NULL; -PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL; -PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL; -PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL; -PFNGLTEXTUREVIEWPROC glad_glTextureView = NULL; -PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL; -PFNGLUNIFORM1DPROC glad_glUniform1d = NULL; -PFNGLUNIFORM1DVPROC glad_glUniform1dv = NULL; -PFNGLUNIFORM1FPROC glad_glUniform1f = NULL; -PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL; -PFNGLUNIFORM1IPROC glad_glUniform1i = NULL; -PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL; -PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL; -PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL; -PFNGLUNIFORM2DPROC glad_glUniform2d = NULL; -PFNGLUNIFORM2DVPROC glad_glUniform2dv = NULL; -PFNGLUNIFORM2FPROC glad_glUniform2f = NULL; -PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL; -PFNGLUNIFORM2IPROC glad_glUniform2i = NULL; -PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL; -PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL; -PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL; -PFNGLUNIFORM3DPROC glad_glUniform3d = NULL; -PFNGLUNIFORM3DVPROC glad_glUniform3dv = NULL; -PFNGLUNIFORM3FPROC glad_glUniform3f = NULL; -PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL; -PFNGLUNIFORM3IPROC glad_glUniform3i = NULL; -PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL; -PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL; -PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL; -PFNGLUNIFORM4DPROC glad_glUniform4d = NULL; -PFNGLUNIFORM4DVPROC glad_glUniform4dv = NULL; -PFNGLUNIFORM4FPROC glad_glUniform4f = NULL; -PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL; -PFNGLUNIFORM4IPROC glad_glUniform4i = NULL; -PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL; -PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL; -PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL; -PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL; -PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv = NULL; -PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL; -PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv = NULL; -PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL; -PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv = NULL; -PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL; -PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv = NULL; -PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL; -PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv = NULL; -PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL; -PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv = NULL; -PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL; -PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv = NULL; -PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL; -PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv = NULL; -PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL; -PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv = NULL; -PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL; -PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv = NULL; -PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL; -PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL; -PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages = NULL; -PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL; -PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline = NULL; -PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL; -PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL; -PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL; -PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL; -PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL; -PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL; -PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL; -PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL; -PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL; -PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL; -PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL; -PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL; -PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL; -PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL; -PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL; -PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL; -PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL; -PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL; -PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL; -PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL; -PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL; -PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL; -PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL; -PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL; -PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL; -PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL; -PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL; -PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL; -PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL; -PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL; -PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL; -PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL; -PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL; -PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL; -PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL; -PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL; -PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding = NULL; -PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL; -PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat = NULL; -PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL; -PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL; -PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL; -PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL; -PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL; -PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL; -PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL; -PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL; -PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL; -PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL; -PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL; -PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL; -PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL; -PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL; -PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL; -PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL; -PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL; -PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL; -PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL; -PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL; -PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat = NULL; -PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL; -PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d = NULL; -PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv = NULL; -PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d = NULL; -PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv = NULL; -PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d = NULL; -PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv = NULL; -PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d = NULL; -PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv = NULL; -PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat = NULL; -PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer = NULL; -PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL; -PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL; -PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL; -PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL; -PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL; -PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL; -PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL; -PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL; -PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL; -PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor = NULL; -PFNGLVERTEXP2UIPROC glad_glVertexP2ui = NULL; -PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv = NULL; -PFNGLVERTEXP3UIPROC glad_glVertexP3ui = NULL; -PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv = NULL; -PFNGLVERTEXP4UIPROC glad_glVertexP4ui = NULL; -PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL; -PFNGLVIEWPORTPROC glad_glViewport = NULL; -PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv = NULL; -PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf = NULL; -PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv = NULL; -PFNGLWAITSYNCPROC glad_glWaitSync = NULL; +PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram; +void APIENTRY glad_debug_impl_glActiveShaderProgram(GLuint arg0, GLuint arg1) { + _pre_call_callback("glActiveShaderProgram", (void *)glActiveShaderProgram, 2, arg0, arg1); + glad_glActiveShaderProgram(arg0, arg1); + _post_call_callback("glActiveShaderProgram", (void *)glActiveShaderProgram, 2, arg0, arg1); +} +PFNGLACTIVESHADERPROGRAMPROC glad_debug_glActiveShaderProgram = glad_debug_impl_glActiveShaderProgram; +PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +void APIENTRY glad_debug_impl_glActiveTexture(GLenum arg0) { + _pre_call_callback("glActiveTexture", (void *)glActiveTexture, 1, arg0); + glad_glActiveTexture(arg0); + _post_call_callback("glActiveTexture", (void *)glActiveTexture, 1, arg0); +} +PFNGLACTIVETEXTUREPROC glad_debug_glActiveTexture = glad_debug_impl_glActiveTexture; +PFNGLATTACHSHADERPROC glad_glAttachShader; +void APIENTRY glad_debug_impl_glAttachShader(GLuint arg0, GLuint arg1) { + _pre_call_callback("glAttachShader", (void *)glAttachShader, 2, arg0, arg1); + glad_glAttachShader(arg0, arg1); + _post_call_callback("glAttachShader", (void *)glAttachShader, 2, arg0, arg1); +} +PFNGLATTACHSHADERPROC glad_debug_glAttachShader = glad_debug_impl_glAttachShader; +PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +void APIENTRY glad_debug_impl_glBeginConditionalRender(GLuint arg0, GLenum arg1) { + _pre_call_callback("glBeginConditionalRender", (void *)glBeginConditionalRender, 2, arg0, arg1); + glad_glBeginConditionalRender(arg0, arg1); + _post_call_callback("glBeginConditionalRender", (void *)glBeginConditionalRender, 2, arg0, arg1); +} +PFNGLBEGINCONDITIONALRENDERPROC glad_debug_glBeginConditionalRender = glad_debug_impl_glBeginConditionalRender; +PFNGLBEGINQUERYPROC glad_glBeginQuery; +void APIENTRY glad_debug_impl_glBeginQuery(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBeginQuery", (void *)glBeginQuery, 2, arg0, arg1); + glad_glBeginQuery(arg0, arg1); + _post_call_callback("glBeginQuery", (void *)glBeginQuery, 2, arg0, arg1); +} +PFNGLBEGINQUERYPROC glad_debug_glBeginQuery = glad_debug_impl_glBeginQuery; +PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed; +void APIENTRY glad_debug_impl_glBeginQueryIndexed(GLenum arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glBeginQueryIndexed", (void *)glBeginQueryIndexed, 3, arg0, arg1, arg2); + glad_glBeginQueryIndexed(arg0, arg1, arg2); + _post_call_callback("glBeginQueryIndexed", (void *)glBeginQueryIndexed, 3, arg0, arg1, arg2); +} +PFNGLBEGINQUERYINDEXEDPROC glad_debug_glBeginQueryIndexed = glad_debug_impl_glBeginQueryIndexed; +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +void APIENTRY glad_debug_impl_glBeginTransformFeedback(GLenum arg0) { + _pre_call_callback("glBeginTransformFeedback", (void *)glBeginTransformFeedback, 1, arg0); + glad_glBeginTransformFeedback(arg0); + _post_call_callback("glBeginTransformFeedback", (void *)glBeginTransformFeedback, 1, arg0); +} +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_debug_glBeginTransformFeedback = glad_debug_impl_glBeginTransformFeedback; +PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +void APIENTRY glad_debug_impl_glBindAttribLocation(GLuint arg0, GLuint arg1, const GLchar *arg2) { + _pre_call_callback("glBindAttribLocation", (void *)glBindAttribLocation, 3, arg0, arg1, arg2); + glad_glBindAttribLocation(arg0, arg1, arg2); + _post_call_callback("glBindAttribLocation", (void *)glBindAttribLocation, 3, arg0, arg1, arg2); +} +PFNGLBINDATTRIBLOCATIONPROC glad_debug_glBindAttribLocation = glad_debug_impl_glBindAttribLocation; +PFNGLBINDBUFFERPROC glad_glBindBuffer; +void APIENTRY glad_debug_impl_glBindBuffer(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindBuffer", (void *)glBindBuffer, 2, arg0, arg1); + glad_glBindBuffer(arg0, arg1); + _post_call_callback("glBindBuffer", (void *)glBindBuffer, 2, arg0, arg1); +} +PFNGLBINDBUFFERPROC glad_debug_glBindBuffer = glad_debug_impl_glBindBuffer; +PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +void APIENTRY glad_debug_impl_glBindBufferBase(GLenum arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glBindBufferBase", (void *)glBindBufferBase, 3, arg0, arg1, arg2); + glad_glBindBufferBase(arg0, arg1, arg2); + _post_call_callback("glBindBufferBase", (void *)glBindBufferBase, 3, arg0, arg1, arg2); +} +PFNGLBINDBUFFERBASEPROC glad_debug_glBindBufferBase = glad_debug_impl_glBindBufferBase; +PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +void APIENTRY glad_debug_impl_glBindBufferRange(GLenum arg0, GLuint arg1, GLuint arg2, GLintptr arg3, GLsizeiptr arg4) { + _pre_call_callback("glBindBufferRange", (void *)glBindBufferRange, 5, arg0, arg1, arg2, arg3, arg4); + glad_glBindBufferRange(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glBindBufferRange", (void *)glBindBufferRange, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLBINDBUFFERRANGEPROC glad_debug_glBindBufferRange = glad_debug_impl_glBindBufferRange; +PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +void APIENTRY glad_debug_impl_glBindFragDataLocation(GLuint arg0, GLuint arg1, const GLchar *arg2) { + _pre_call_callback("glBindFragDataLocation", (void *)glBindFragDataLocation, 3, arg0, arg1, arg2); + glad_glBindFragDataLocation(arg0, arg1, arg2); + _post_call_callback("glBindFragDataLocation", (void *)glBindFragDataLocation, 3, arg0, arg1, arg2); +} +PFNGLBINDFRAGDATALOCATIONPROC glad_debug_glBindFragDataLocation = glad_debug_impl_glBindFragDataLocation; +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +void APIENTRY glad_debug_impl_glBindFragDataLocationIndexed(GLuint arg0, GLuint arg1, GLuint arg2, const GLchar *arg3) { + _pre_call_callback("glBindFragDataLocationIndexed", (void *)glBindFragDataLocationIndexed, 4, arg0, arg1, arg2, + arg3); + glad_glBindFragDataLocationIndexed(arg0, arg1, arg2, arg3); + _post_call_callback("glBindFragDataLocationIndexed", (void *)glBindFragDataLocationIndexed, 4, arg0, arg1, arg2, + arg3); +} +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_debug_glBindFragDataLocationIndexed = + glad_debug_impl_glBindFragDataLocationIndexed; +PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +void APIENTRY glad_debug_impl_glBindFramebuffer(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindFramebuffer", (void *)glBindFramebuffer, 2, arg0, arg1); + glad_glBindFramebuffer(arg0, arg1); + _post_call_callback("glBindFramebuffer", (void *)glBindFramebuffer, 2, arg0, arg1); +} +PFNGLBINDFRAMEBUFFERPROC glad_debug_glBindFramebuffer = glad_debug_impl_glBindFramebuffer; +PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture; +void APIENTRY glad_debug_impl_glBindImageTexture(GLuint arg0, GLuint arg1, GLint arg2, GLboolean arg3, GLint arg4, + GLenum arg5, GLenum arg6) { + _pre_call_callback("glBindImageTexture", (void *)glBindImageTexture, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glBindImageTexture(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glBindImageTexture", (void *)glBindImageTexture, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +PFNGLBINDIMAGETEXTUREPROC glad_debug_glBindImageTexture = glad_debug_impl_glBindImageTexture; +PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline; +void APIENTRY glad_debug_impl_glBindProgramPipeline(GLuint arg0) { + _pre_call_callback("glBindProgramPipeline", (void *)glBindProgramPipeline, 1, arg0); + glad_glBindProgramPipeline(arg0); + _post_call_callback("glBindProgramPipeline", (void *)glBindProgramPipeline, 1, arg0); +} +PFNGLBINDPROGRAMPIPELINEPROC glad_debug_glBindProgramPipeline = glad_debug_impl_glBindProgramPipeline; +PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +void APIENTRY glad_debug_impl_glBindRenderbuffer(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindRenderbuffer", (void *)glBindRenderbuffer, 2, arg0, arg1); + glad_glBindRenderbuffer(arg0, arg1); + _post_call_callback("glBindRenderbuffer", (void *)glBindRenderbuffer, 2, arg0, arg1); +} +PFNGLBINDRENDERBUFFERPROC glad_debug_glBindRenderbuffer = glad_debug_impl_glBindRenderbuffer; +PFNGLBINDSAMPLERPROC glad_glBindSampler; +void APIENTRY glad_debug_impl_glBindSampler(GLuint arg0, GLuint arg1) { + _pre_call_callback("glBindSampler", (void *)glBindSampler, 2, arg0, arg1); + glad_glBindSampler(arg0, arg1); + _post_call_callback("glBindSampler", (void *)glBindSampler, 2, arg0, arg1); +} +PFNGLBINDSAMPLERPROC glad_debug_glBindSampler = glad_debug_impl_glBindSampler; +PFNGLBINDTEXTUREPROC glad_glBindTexture; +void APIENTRY glad_debug_impl_glBindTexture(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindTexture", (void *)glBindTexture, 2, arg0, arg1); + glad_glBindTexture(arg0, arg1); + _post_call_callback("glBindTexture", (void *)glBindTexture, 2, arg0, arg1); +} +PFNGLBINDTEXTUREPROC glad_debug_glBindTexture = glad_debug_impl_glBindTexture; +PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback; +void APIENTRY glad_debug_impl_glBindTransformFeedback(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindTransformFeedback", (void *)glBindTransformFeedback, 2, arg0, arg1); + glad_glBindTransformFeedback(arg0, arg1); + _post_call_callback("glBindTransformFeedback", (void *)glBindTransformFeedback, 2, arg0, arg1); +} +PFNGLBINDTRANSFORMFEEDBACKPROC glad_debug_glBindTransformFeedback = glad_debug_impl_glBindTransformFeedback; +PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +void APIENTRY glad_debug_impl_glBindVertexArray(GLuint arg0) { + _pre_call_callback("glBindVertexArray", (void *)glBindVertexArray, 1, arg0); + glad_glBindVertexArray(arg0); + _post_call_callback("glBindVertexArray", (void *)glBindVertexArray, 1, arg0); +} +PFNGLBINDVERTEXARRAYPROC glad_debug_glBindVertexArray = glad_debug_impl_glBindVertexArray; +PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer; +void APIENTRY glad_debug_impl_glBindVertexBuffer(GLuint arg0, GLuint arg1, GLintptr arg2, GLsizei arg3) { + _pre_call_callback("glBindVertexBuffer", (void *)glBindVertexBuffer, 4, arg0, arg1, arg2, arg3); + glad_glBindVertexBuffer(arg0, arg1, arg2, arg3); + _post_call_callback("glBindVertexBuffer", (void *)glBindVertexBuffer, 4, arg0, arg1, arg2, arg3); +} +PFNGLBINDVERTEXBUFFERPROC glad_debug_glBindVertexBuffer = glad_debug_impl_glBindVertexBuffer; +PFNGLBLENDCOLORPROC glad_glBlendColor; +void APIENTRY glad_debug_impl_glBlendColor(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glBlendColor", (void *)glBlendColor, 4, arg0, arg1, arg2, arg3); + glad_glBlendColor(arg0, arg1, arg2, arg3); + _post_call_callback("glBlendColor", (void *)glBlendColor, 4, arg0, arg1, arg2, arg3); +} +PFNGLBLENDCOLORPROC glad_debug_glBlendColor = glad_debug_impl_glBlendColor; +PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +void APIENTRY glad_debug_impl_glBlendEquation(GLenum arg0) { + _pre_call_callback("glBlendEquation", (void *)glBlendEquation, 1, arg0); + glad_glBlendEquation(arg0); + _post_call_callback("glBlendEquation", (void *)glBlendEquation, 1, arg0); +} +PFNGLBLENDEQUATIONPROC glad_debug_glBlendEquation = glad_debug_impl_glBlendEquation; +PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +void APIENTRY glad_debug_impl_glBlendEquationSeparate(GLenum arg0, GLenum arg1) { + _pre_call_callback("glBlendEquationSeparate", (void *)glBlendEquationSeparate, 2, arg0, arg1); + glad_glBlendEquationSeparate(arg0, arg1); + _post_call_callback("glBlendEquationSeparate", (void *)glBlendEquationSeparate, 2, arg0, arg1); +} +PFNGLBLENDEQUATIONSEPARATEPROC glad_debug_glBlendEquationSeparate = glad_debug_impl_glBlendEquationSeparate; +PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei; +void APIENTRY glad_debug_impl_glBlendEquationSeparatei(GLuint arg0, GLenum arg1, GLenum arg2) { + _pre_call_callback("glBlendEquationSeparatei", (void *)glBlendEquationSeparatei, 3, arg0, arg1, arg2); + glad_glBlendEquationSeparatei(arg0, arg1, arg2); + _post_call_callback("glBlendEquationSeparatei", (void *)glBlendEquationSeparatei, 3, arg0, arg1, arg2); +} +PFNGLBLENDEQUATIONSEPARATEIPROC glad_debug_glBlendEquationSeparatei = glad_debug_impl_glBlendEquationSeparatei; +PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi; +void APIENTRY glad_debug_impl_glBlendEquationi(GLuint arg0, GLenum arg1) { + _pre_call_callback("glBlendEquationi", (void *)glBlendEquationi, 2, arg0, arg1); + glad_glBlendEquationi(arg0, arg1); + _post_call_callback("glBlendEquationi", (void *)glBlendEquationi, 2, arg0, arg1); +} +PFNGLBLENDEQUATIONIPROC glad_debug_glBlendEquationi = glad_debug_impl_glBlendEquationi; +PFNGLBLENDFUNCPROC glad_glBlendFunc; +void APIENTRY glad_debug_impl_glBlendFunc(GLenum arg0, GLenum arg1) { + _pre_call_callback("glBlendFunc", (void *)glBlendFunc, 2, arg0, arg1); + glad_glBlendFunc(arg0, arg1); + _post_call_callback("glBlendFunc", (void *)glBlendFunc, 2, arg0, arg1); +} +PFNGLBLENDFUNCPROC glad_debug_glBlendFunc = glad_debug_impl_glBlendFunc; +PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +void APIENTRY glad_debug_impl_glBlendFuncSeparate(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) { + _pre_call_callback("glBlendFuncSeparate", (void *)glBlendFuncSeparate, 4, arg0, arg1, arg2, arg3); + glad_glBlendFuncSeparate(arg0, arg1, arg2, arg3); + _post_call_callback("glBlendFuncSeparate", (void *)glBlendFuncSeparate, 4, arg0, arg1, arg2, arg3); +} +PFNGLBLENDFUNCSEPARATEPROC glad_debug_glBlendFuncSeparate = glad_debug_impl_glBlendFuncSeparate; +PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei; +void APIENTRY glad_debug_impl_glBlendFuncSeparatei(GLuint arg0, GLenum arg1, GLenum arg2, GLenum arg3, GLenum arg4) { + _pre_call_callback("glBlendFuncSeparatei", (void *)glBlendFuncSeparatei, 5, arg0, arg1, arg2, arg3, arg4); + glad_glBlendFuncSeparatei(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glBlendFuncSeparatei", (void *)glBlendFuncSeparatei, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLBLENDFUNCSEPARATEIPROC glad_debug_glBlendFuncSeparatei = glad_debug_impl_glBlendFuncSeparatei; +PFNGLBLENDFUNCIPROC glad_glBlendFunci; +void APIENTRY glad_debug_impl_glBlendFunci(GLuint arg0, GLenum arg1, GLenum arg2) { + _pre_call_callback("glBlendFunci", (void *)glBlendFunci, 3, arg0, arg1, arg2); + glad_glBlendFunci(arg0, arg1, arg2); + _post_call_callback("glBlendFunci", (void *)glBlendFunci, 3, arg0, arg1, arg2); +} +PFNGLBLENDFUNCIPROC glad_debug_glBlendFunci = glad_debug_impl_glBlendFunci; +PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +void APIENTRY glad_debug_impl_glBlitFramebuffer(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, + GLint arg6, GLint arg7, GLbitfield arg8, GLenum arg9) { + _pre_call_callback("glBlitFramebuffer", (void *)glBlitFramebuffer, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7, arg8, arg9); + glad_glBlitFramebuffer(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + _post_call_callback("glBlitFramebuffer", (void *)glBlitFramebuffer, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7, arg8, arg9); +} +PFNGLBLITFRAMEBUFFERPROC glad_debug_glBlitFramebuffer = glad_debug_impl_glBlitFramebuffer; +PFNGLBUFFERDATAPROC glad_glBufferData; +void APIENTRY glad_debug_impl_glBufferData(GLenum arg0, GLsizeiptr arg1, const void *arg2, GLenum arg3) { + _pre_call_callback("glBufferData", (void *)glBufferData, 4, arg0, arg1, arg2, arg3); + glad_glBufferData(arg0, arg1, arg2, arg3); + _post_call_callback("glBufferData", (void *)glBufferData, 4, arg0, arg1, arg2, arg3); +} +PFNGLBUFFERDATAPROC glad_debug_glBufferData = glad_debug_impl_glBufferData; +PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +void APIENTRY glad_debug_impl_glBufferSubData(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, const void *arg3) { + _pre_call_callback("glBufferSubData", (void *)glBufferSubData, 4, arg0, arg1, arg2, arg3); + glad_glBufferSubData(arg0, arg1, arg2, arg3); + _post_call_callback("glBufferSubData", (void *)glBufferSubData, 4, arg0, arg1, arg2, arg3); +} +PFNGLBUFFERSUBDATAPROC glad_debug_glBufferSubData = glad_debug_impl_glBufferSubData; +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +GLenum APIENTRY glad_debug_impl_glCheckFramebufferStatus(GLenum arg0) { + GLenum ret; + _pre_call_callback("glCheckFramebufferStatus", (void *)glCheckFramebufferStatus, 1, arg0); + ret = glad_glCheckFramebufferStatus(arg0); + _post_call_callback("glCheckFramebufferStatus", (void *)glCheckFramebufferStatus, 1, arg0); + return ret; +} +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_debug_glCheckFramebufferStatus = glad_debug_impl_glCheckFramebufferStatus; +PFNGLCLAMPCOLORPROC glad_glClampColor; +void APIENTRY glad_debug_impl_glClampColor(GLenum arg0, GLenum arg1) { + _pre_call_callback("glClampColor", (void *)glClampColor, 2, arg0, arg1); + glad_glClampColor(arg0, arg1); + _post_call_callback("glClampColor", (void *)glClampColor, 2, arg0, arg1); +} +PFNGLCLAMPCOLORPROC glad_debug_glClampColor = glad_debug_impl_glClampColor; +PFNGLCLEARPROC glad_glClear; +void APIENTRY glad_debug_impl_glClear(GLbitfield arg0) { + _pre_call_callback("glClear", (void *)glClear, 1, arg0); + glad_glClear(arg0); + _post_call_callback("glClear", (void *)glClear, 1, arg0); +} +PFNGLCLEARPROC glad_debug_glClear = glad_debug_impl_glClear; +PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData; +void APIENTRY glad_debug_impl_glClearBufferData(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3, const void *arg4) { + _pre_call_callback("glClearBufferData", (void *)glClearBufferData, 5, arg0, arg1, arg2, arg3, arg4); + glad_glClearBufferData(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glClearBufferData", (void *)glClearBufferData, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLCLEARBUFFERDATAPROC glad_debug_glClearBufferData = glad_debug_impl_glClearBufferData; +PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData; +void APIENTRY glad_debug_impl_glClearBufferSubData(GLenum arg0, GLenum arg1, GLintptr arg2, GLsizeiptr arg3, + GLenum arg4, GLenum arg5, const void *arg6) { + _pre_call_callback("glClearBufferSubData", (void *)glClearBufferSubData, 7, arg0, arg1, arg2, arg3, arg4, arg5, + arg6); + glad_glClearBufferSubData(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glClearBufferSubData", (void *)glClearBufferSubData, 7, arg0, arg1, arg2, arg3, arg4, arg5, + arg6); +} +PFNGLCLEARBUFFERSUBDATAPROC glad_debug_glClearBufferSubData = glad_debug_impl_glClearBufferSubData; +PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +void APIENTRY glad_debug_impl_glClearBufferfi(GLenum arg0, GLint arg1, GLfloat arg2, GLint arg3) { + _pre_call_callback("glClearBufferfi", (void *)glClearBufferfi, 4, arg0, arg1, arg2, arg3); + glad_glClearBufferfi(arg0, arg1, arg2, arg3); + _post_call_callback("glClearBufferfi", (void *)glClearBufferfi, 4, arg0, arg1, arg2, arg3); +} +PFNGLCLEARBUFFERFIPROC glad_debug_glClearBufferfi = glad_debug_impl_glClearBufferfi; +PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +void APIENTRY glad_debug_impl_glClearBufferfv(GLenum arg0, GLint arg1, const GLfloat *arg2) { + _pre_call_callback("glClearBufferfv", (void *)glClearBufferfv, 3, arg0, arg1, arg2); + glad_glClearBufferfv(arg0, arg1, arg2); + _post_call_callback("glClearBufferfv", (void *)glClearBufferfv, 3, arg0, arg1, arg2); +} +PFNGLCLEARBUFFERFVPROC glad_debug_glClearBufferfv = glad_debug_impl_glClearBufferfv; +PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +void APIENTRY glad_debug_impl_glClearBufferiv(GLenum arg0, GLint arg1, const GLint *arg2) { + _pre_call_callback("glClearBufferiv", (void *)glClearBufferiv, 3, arg0, arg1, arg2); + glad_glClearBufferiv(arg0, arg1, arg2); + _post_call_callback("glClearBufferiv", (void *)glClearBufferiv, 3, arg0, arg1, arg2); +} +PFNGLCLEARBUFFERIVPROC glad_debug_glClearBufferiv = glad_debug_impl_glClearBufferiv; +PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +void APIENTRY glad_debug_impl_glClearBufferuiv(GLenum arg0, GLint arg1, const GLuint *arg2) { + _pre_call_callback("glClearBufferuiv", (void *)glClearBufferuiv, 3, arg0, arg1, arg2); + glad_glClearBufferuiv(arg0, arg1, arg2); + _post_call_callback("glClearBufferuiv", (void *)glClearBufferuiv, 3, arg0, arg1, arg2); +} +PFNGLCLEARBUFFERUIVPROC glad_debug_glClearBufferuiv = glad_debug_impl_glClearBufferuiv; +PFNGLCLEARCOLORPROC glad_glClearColor; +void APIENTRY glad_debug_impl_glClearColor(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glClearColor", (void *)glClearColor, 4, arg0, arg1, arg2, arg3); + glad_glClearColor(arg0, arg1, arg2, arg3); + _post_call_callback("glClearColor", (void *)glClearColor, 4, arg0, arg1, arg2, arg3); +} +PFNGLCLEARCOLORPROC glad_debug_glClearColor = glad_debug_impl_glClearColor; +PFNGLCLEARDEPTHPROC glad_glClearDepth; +void APIENTRY glad_debug_impl_glClearDepth(GLdouble arg0) { + _pre_call_callback("glClearDepth", (void *)glClearDepth, 1, arg0); + glad_glClearDepth(arg0); + _post_call_callback("glClearDepth", (void *)glClearDepth, 1, arg0); +} +PFNGLCLEARDEPTHPROC glad_debug_glClearDepth = glad_debug_impl_glClearDepth; +PFNGLCLEARDEPTHFPROC glad_glClearDepthf; +void APIENTRY glad_debug_impl_glClearDepthf(GLfloat arg0) { + _pre_call_callback("glClearDepthf", (void *)glClearDepthf, 1, arg0); + glad_glClearDepthf(arg0); + _post_call_callback("glClearDepthf", (void *)glClearDepthf, 1, arg0); +} +PFNGLCLEARDEPTHFPROC glad_debug_glClearDepthf = glad_debug_impl_glClearDepthf; +PFNGLCLEARSTENCILPROC glad_glClearStencil; +void APIENTRY glad_debug_impl_glClearStencil(GLint arg0) { + _pre_call_callback("glClearStencil", (void *)glClearStencil, 1, arg0); + glad_glClearStencil(arg0); + _post_call_callback("glClearStencil", (void *)glClearStencil, 1, arg0); +} +PFNGLCLEARSTENCILPROC glad_debug_glClearStencil = glad_debug_impl_glClearStencil; +PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +GLenum APIENTRY glad_debug_impl_glClientWaitSync(GLsync arg0, GLbitfield arg1, GLuint64 arg2) { + GLenum ret; + _pre_call_callback("glClientWaitSync", (void *)glClientWaitSync, 3, arg0, arg1, arg2); + ret = glad_glClientWaitSync(arg0, arg1, arg2); + _post_call_callback("glClientWaitSync", (void *)glClientWaitSync, 3, arg0, arg1, arg2); + return ret; +} +PFNGLCLIENTWAITSYNCPROC glad_debug_glClientWaitSync = glad_debug_impl_glClientWaitSync; +PFNGLCOLORMASKPROC glad_glColorMask; +void APIENTRY glad_debug_impl_glColorMask(GLboolean arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3) { + _pre_call_callback("glColorMask", (void *)glColorMask, 4, arg0, arg1, arg2, arg3); + glad_glColorMask(arg0, arg1, arg2, arg3); + _post_call_callback("glColorMask", (void *)glColorMask, 4, arg0, arg1, arg2, arg3); +} +PFNGLCOLORMASKPROC glad_debug_glColorMask = glad_debug_impl_glColorMask; +PFNGLCOLORMASKIPROC glad_glColorMaski; +void APIENTRY glad_debug_impl_glColorMaski(GLuint arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3, + GLboolean arg4) { + _pre_call_callback("glColorMaski", (void *)glColorMaski, 5, arg0, arg1, arg2, arg3, arg4); + glad_glColorMaski(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glColorMaski", (void *)glColorMaski, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLCOLORMASKIPROC glad_debug_glColorMaski = glad_debug_impl_glColorMaski; +PFNGLCOLORP3UIPROC glad_glColorP3ui; +void APIENTRY glad_debug_impl_glColorP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glColorP3ui", (void *)glColorP3ui, 2, arg0, arg1); + glad_glColorP3ui(arg0, arg1); + _post_call_callback("glColorP3ui", (void *)glColorP3ui, 2, arg0, arg1); +} +PFNGLCOLORP3UIPROC glad_debug_glColorP3ui = glad_debug_impl_glColorP3ui; +PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +void APIENTRY glad_debug_impl_glColorP3uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glColorP3uiv", (void *)glColorP3uiv, 2, arg0, arg1); + glad_glColorP3uiv(arg0, arg1); + _post_call_callback("glColorP3uiv", (void *)glColorP3uiv, 2, arg0, arg1); +} +PFNGLCOLORP3UIVPROC glad_debug_glColorP3uiv = glad_debug_impl_glColorP3uiv; +PFNGLCOLORP4UIPROC glad_glColorP4ui; +void APIENTRY glad_debug_impl_glColorP4ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glColorP4ui", (void *)glColorP4ui, 2, arg0, arg1); + glad_glColorP4ui(arg0, arg1); + _post_call_callback("glColorP4ui", (void *)glColorP4ui, 2, arg0, arg1); +} +PFNGLCOLORP4UIPROC glad_debug_glColorP4ui = glad_debug_impl_glColorP4ui; +PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +void APIENTRY glad_debug_impl_glColorP4uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glColorP4uiv", (void *)glColorP4uiv, 2, arg0, arg1); + glad_glColorP4uiv(arg0, arg1); + _post_call_callback("glColorP4uiv", (void *)glColorP4uiv, 2, arg0, arg1); +} +PFNGLCOLORP4UIVPROC glad_debug_glColorP4uiv = glad_debug_impl_glColorP4uiv; +PFNGLCOMPILESHADERPROC glad_glCompileShader; +void APIENTRY glad_debug_impl_glCompileShader(GLuint arg0) { + _pre_call_callback("glCompileShader", (void *)glCompileShader, 1, arg0); + glad_glCompileShader(arg0); + _post_call_callback("glCompileShader", (void *)glCompileShader, 1, arg0); +} +PFNGLCOMPILESHADERPROC glad_debug_glCompileShader = glad_debug_impl_glCompileShader; +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +void APIENTRY glad_debug_impl_glCompressedTexImage1D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLint arg4, + GLsizei arg5, const void *arg6) { + _pre_call_callback("glCompressedTexImage1D", (void *)glCompressedTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, + arg6); + glad_glCompressedTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glCompressedTexImage1D", (void *)glCompressedTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, + arg6); +} +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_debug_glCompressedTexImage1D = glad_debug_impl_glCompressedTexImage1D; +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +void APIENTRY glad_debug_impl_glCompressedTexImage2D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, + GLint arg5, GLsizei arg6, const void *arg7) { + _pre_call_callback("glCompressedTexImage2D", (void *)glCompressedTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7); + glad_glCompressedTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glCompressedTexImage2D", (void *)glCompressedTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7); +} +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_debug_glCompressedTexImage2D = glad_debug_impl_glCompressedTexImage2D; +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +void APIENTRY glad_debug_impl_glCompressedTexImage3D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, + GLsizei arg5, GLint arg6, GLsizei arg7, const void *arg8) { + _pre_call_callback("glCompressedTexImage3D", (void *)glCompressedTexImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7, arg8); + glad_glCompressedTexImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glCompressedTexImage3D", (void *)glCompressedTexImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7, arg8); +} +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_debug_glCompressedTexImage3D = glad_debug_impl_glCompressedTexImage3D; +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +void APIENTRY glad_debug_impl_glCompressedTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLenum arg4, + GLsizei arg5, const void *arg6) { + _pre_call_callback("glCompressedTexSubImage1D", (void *)glCompressedTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, + arg5, arg6); + glad_glCompressedTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glCompressedTexSubImage1D", (void *)glCompressedTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, + arg5, arg6); +} +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_debug_glCompressedTexSubImage1D = glad_debug_impl_glCompressedTexSubImage1D; +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +void APIENTRY glad_debug_impl_glCompressedTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, + GLsizei arg5, GLenum arg6, GLsizei arg7, const void *arg8) { + _pre_call_callback("glCompressedTexSubImage2D", (void *)glCompressedTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, + arg5, arg6, arg7, arg8); + glad_glCompressedTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glCompressedTexSubImage2D", (void *)glCompressedTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, + arg5, arg6, arg7, arg8); +} +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_debug_glCompressedTexSubImage2D = glad_debug_impl_glCompressedTexSubImage2D; +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +void APIENTRY glad_debug_impl_glCompressedTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, + GLsizei arg5, GLsizei arg6, GLsizei arg7, GLenum arg8, + GLsizei arg9, const void *arg10) { + _pre_call_callback("glCompressedTexSubImage3D", (void *)glCompressedTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, + arg5, arg6, arg7, arg8, arg9, arg10); + glad_glCompressedTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + _post_call_callback("glCompressedTexSubImage3D", (void *)glCompressedTexSubImage3D, 11, arg0, arg1, arg2, arg3, + arg4, arg5, arg6, arg7, arg8, arg9, arg10); +} +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_debug_glCompressedTexSubImage3D = glad_debug_impl_glCompressedTexSubImage3D; +PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +void APIENTRY glad_debug_impl_glCopyBufferSubData(GLenum arg0, GLenum arg1, GLintptr arg2, GLintptr arg3, + GLsizeiptr arg4) { + _pre_call_callback("glCopyBufferSubData", (void *)glCopyBufferSubData, 5, arg0, arg1, arg2, arg3, arg4); + glad_glCopyBufferSubData(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glCopyBufferSubData", (void *)glCopyBufferSubData, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLCOPYBUFFERSUBDATAPROC glad_debug_glCopyBufferSubData = glad_debug_impl_glCopyBufferSubData; +PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData; +void APIENTRY glad_debug_impl_glCopyImageSubData(GLuint arg0, GLenum arg1, GLint arg2, GLint arg3, GLint arg4, + GLint arg5, GLuint arg6, GLenum arg7, GLint arg8, GLint arg9, + GLint arg10, GLint arg11, GLsizei arg12, GLsizei arg13, + GLsizei arg14) { + _pre_call_callback("glCopyImageSubData", (void *)glCopyImageSubData, 15, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + glad_glCopyImageSubData(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, + arg14); + _post_call_callback("glCopyImageSubData", (void *)glCopyImageSubData, 15, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); +} +PFNGLCOPYIMAGESUBDATAPROC glad_debug_glCopyImageSubData = glad_debug_impl_glCopyImageSubData; +PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +void APIENTRY glad_debug_impl_glCopyTexImage1D(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, + GLsizei arg5, GLint arg6) { + _pre_call_callback("glCopyTexImage1D", (void *)glCopyTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glCopyTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glCopyTexImage1D", (void *)glCopyTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +PFNGLCOPYTEXIMAGE1DPROC glad_debug_glCopyTexImage1D = glad_debug_impl_glCopyTexImage1D; +PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +void APIENTRY glad_debug_impl_glCopyTexImage2D(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, + GLsizei arg5, GLsizei arg6, GLint arg7) { + _pre_call_callback("glCopyTexImage2D", (void *)glCopyTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glCopyTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glCopyTexImage2D", (void *)glCopyTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7); +} +PFNGLCOPYTEXIMAGE2DPROC glad_debug_glCopyTexImage2D = glad_debug_impl_glCopyTexImage2D; +PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +void APIENTRY glad_debug_impl_glCopyTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, + GLsizei arg5) { + _pre_call_callback("glCopyTexSubImage1D", (void *)glCopyTexSubImage1D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glCopyTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glCopyTexSubImage1D", (void *)glCopyTexSubImage1D, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLCOPYTEXSUBIMAGE1DPROC glad_debug_glCopyTexSubImage1D = glad_debug_impl_glCopyTexSubImage1D; +PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +void APIENTRY glad_debug_impl_glCopyTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, + GLint arg5, GLsizei arg6, GLsizei arg7) { + _pre_call_callback("glCopyTexSubImage2D", (void *)glCopyTexSubImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7); + glad_glCopyTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glCopyTexSubImage2D", (void *)glCopyTexSubImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7); +} +PFNGLCOPYTEXSUBIMAGE2DPROC glad_debug_glCopyTexSubImage2D = glad_debug_impl_glCopyTexSubImage2D; +PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +void APIENTRY glad_debug_impl_glCopyTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, + GLint arg5, GLint arg6, GLsizei arg7, GLsizei arg8) { + _pre_call_callback("glCopyTexSubImage3D", (void *)glCopyTexSubImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7, arg8); + glad_glCopyTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glCopyTexSubImage3D", (void *)glCopyTexSubImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, + arg7, arg8); +} +PFNGLCOPYTEXSUBIMAGE3DPROC glad_debug_glCopyTexSubImage3D = glad_debug_impl_glCopyTexSubImage3D; +PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +GLuint APIENTRY glad_debug_impl_glCreateProgram(void) { + GLuint ret; + _pre_call_callback("glCreateProgram", (void *)glCreateProgram, 0); + ret = glad_glCreateProgram(); + _post_call_callback("glCreateProgram", (void *)glCreateProgram, 0); + return ret; +} +PFNGLCREATEPROGRAMPROC glad_debug_glCreateProgram = glad_debug_impl_glCreateProgram; +PFNGLCREATESHADERPROC glad_glCreateShader; +GLuint APIENTRY glad_debug_impl_glCreateShader(GLenum arg0) { + GLuint ret; + _pre_call_callback("glCreateShader", (void *)glCreateShader, 1, arg0); + ret = glad_glCreateShader(arg0); + _post_call_callback("glCreateShader", (void *)glCreateShader, 1, arg0); + return ret; +} +PFNGLCREATESHADERPROC glad_debug_glCreateShader = glad_debug_impl_glCreateShader; +PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv; +GLuint APIENTRY glad_debug_impl_glCreateShaderProgramv(GLenum arg0, GLsizei arg1, const GLchar *const *arg2) { + GLuint ret; + _pre_call_callback("glCreateShaderProgramv", (void *)glCreateShaderProgramv, 3, arg0, arg1, arg2); + ret = glad_glCreateShaderProgramv(arg0, arg1, arg2); + _post_call_callback("glCreateShaderProgramv", (void *)glCreateShaderProgramv, 3, arg0, arg1, arg2); + return ret; +} +PFNGLCREATESHADERPROGRAMVPROC glad_debug_glCreateShaderProgramv = glad_debug_impl_glCreateShaderProgramv; +PFNGLCULLFACEPROC glad_glCullFace; +void APIENTRY glad_debug_impl_glCullFace(GLenum arg0) { + _pre_call_callback("glCullFace", (void *)glCullFace, 1, arg0); + glad_glCullFace(arg0); + _post_call_callback("glCullFace", (void *)glCullFace, 1, arg0); +} +PFNGLCULLFACEPROC glad_debug_glCullFace = glad_debug_impl_glCullFace; +PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback; +void APIENTRY glad_debug_impl_glDebugMessageCallback(GLDEBUGPROC arg0, const void *arg1) { + _pre_call_callback("glDebugMessageCallback", (void *)glDebugMessageCallback, 2, arg0, arg1); + glad_glDebugMessageCallback(arg0, arg1); + _post_call_callback("glDebugMessageCallback", (void *)glDebugMessageCallback, 2, arg0, arg1); +} +PFNGLDEBUGMESSAGECALLBACKPROC glad_debug_glDebugMessageCallback = glad_debug_impl_glDebugMessageCallback; +PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl; +void APIENTRY glad_debug_impl_glDebugMessageControl(GLenum arg0, GLenum arg1, GLenum arg2, GLsizei arg3, + const GLuint *arg4, GLboolean arg5) { + _pre_call_callback("glDebugMessageControl", (void *)glDebugMessageControl, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glDebugMessageControl(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDebugMessageControl", (void *)glDebugMessageControl, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLDEBUGMESSAGECONTROLPROC glad_debug_glDebugMessageControl = glad_debug_impl_glDebugMessageControl; +PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert; +void APIENTRY glad_debug_impl_glDebugMessageInsert(GLenum arg0, GLenum arg1, GLuint arg2, GLenum arg3, GLsizei arg4, + const GLchar *arg5) { + _pre_call_callback("glDebugMessageInsert", (void *)glDebugMessageInsert, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glDebugMessageInsert(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDebugMessageInsert", (void *)glDebugMessageInsert, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLDEBUGMESSAGEINSERTPROC glad_debug_glDebugMessageInsert = glad_debug_impl_glDebugMessageInsert; +PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +void APIENTRY glad_debug_impl_glDeleteBuffers(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteBuffers", (void *)glDeleteBuffers, 2, arg0, arg1); + glad_glDeleteBuffers(arg0, arg1); + _post_call_callback("glDeleteBuffers", (void *)glDeleteBuffers, 2, arg0, arg1); +} +PFNGLDELETEBUFFERSPROC glad_debug_glDeleteBuffers = glad_debug_impl_glDeleteBuffers; +PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +void APIENTRY glad_debug_impl_glDeleteFramebuffers(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteFramebuffers", (void *)glDeleteFramebuffers, 2, arg0, arg1); + glad_glDeleteFramebuffers(arg0, arg1); + _post_call_callback("glDeleteFramebuffers", (void *)glDeleteFramebuffers, 2, arg0, arg1); +} +PFNGLDELETEFRAMEBUFFERSPROC glad_debug_glDeleteFramebuffers = glad_debug_impl_glDeleteFramebuffers; +PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +void APIENTRY glad_debug_impl_glDeleteProgram(GLuint arg0) { + _pre_call_callback("glDeleteProgram", (void *)glDeleteProgram, 1, arg0); + glad_glDeleteProgram(arg0); + _post_call_callback("glDeleteProgram", (void *)glDeleteProgram, 1, arg0); +} +PFNGLDELETEPROGRAMPROC glad_debug_glDeleteProgram = glad_debug_impl_glDeleteProgram; +PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines; +void APIENTRY glad_debug_impl_glDeleteProgramPipelines(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteProgramPipelines", (void *)glDeleteProgramPipelines, 2, arg0, arg1); + glad_glDeleteProgramPipelines(arg0, arg1); + _post_call_callback("glDeleteProgramPipelines", (void *)glDeleteProgramPipelines, 2, arg0, arg1); +} +PFNGLDELETEPROGRAMPIPELINESPROC glad_debug_glDeleteProgramPipelines = glad_debug_impl_glDeleteProgramPipelines; +PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +void APIENTRY glad_debug_impl_glDeleteQueries(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteQueries", (void *)glDeleteQueries, 2, arg0, arg1); + glad_glDeleteQueries(arg0, arg1); + _post_call_callback("glDeleteQueries", (void *)glDeleteQueries, 2, arg0, arg1); +} +PFNGLDELETEQUERIESPROC glad_debug_glDeleteQueries = glad_debug_impl_glDeleteQueries; +PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +void APIENTRY glad_debug_impl_glDeleteRenderbuffers(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteRenderbuffers", (void *)glDeleteRenderbuffers, 2, arg0, arg1); + glad_glDeleteRenderbuffers(arg0, arg1); + _post_call_callback("glDeleteRenderbuffers", (void *)glDeleteRenderbuffers, 2, arg0, arg1); +} +PFNGLDELETERENDERBUFFERSPROC glad_debug_glDeleteRenderbuffers = glad_debug_impl_glDeleteRenderbuffers; +PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +void APIENTRY glad_debug_impl_glDeleteSamplers(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteSamplers", (void *)glDeleteSamplers, 2, arg0, arg1); + glad_glDeleteSamplers(arg0, arg1); + _post_call_callback("glDeleteSamplers", (void *)glDeleteSamplers, 2, arg0, arg1); +} +PFNGLDELETESAMPLERSPROC glad_debug_glDeleteSamplers = glad_debug_impl_glDeleteSamplers; +PFNGLDELETESHADERPROC glad_glDeleteShader; +void APIENTRY glad_debug_impl_glDeleteShader(GLuint arg0) { + _pre_call_callback("glDeleteShader", (void *)glDeleteShader, 1, arg0); + glad_glDeleteShader(arg0); + _post_call_callback("glDeleteShader", (void *)glDeleteShader, 1, arg0); +} +PFNGLDELETESHADERPROC glad_debug_glDeleteShader = glad_debug_impl_glDeleteShader; +PFNGLDELETESYNCPROC glad_glDeleteSync; +void APIENTRY glad_debug_impl_glDeleteSync(GLsync arg0) { + _pre_call_callback("glDeleteSync", (void *)glDeleteSync, 1, arg0); + glad_glDeleteSync(arg0); + _post_call_callback("glDeleteSync", (void *)glDeleteSync, 1, arg0); +} +PFNGLDELETESYNCPROC glad_debug_glDeleteSync = glad_debug_impl_glDeleteSync; +PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +void APIENTRY glad_debug_impl_glDeleteTextures(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteTextures", (void *)glDeleteTextures, 2, arg0, arg1); + glad_glDeleteTextures(arg0, arg1); + _post_call_callback("glDeleteTextures", (void *)glDeleteTextures, 2, arg0, arg1); +} +PFNGLDELETETEXTURESPROC glad_debug_glDeleteTextures = glad_debug_impl_glDeleteTextures; +PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks; +void APIENTRY glad_debug_impl_glDeleteTransformFeedbacks(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteTransformFeedbacks", (void *)glDeleteTransformFeedbacks, 2, arg0, arg1); + glad_glDeleteTransformFeedbacks(arg0, arg1); + _post_call_callback("glDeleteTransformFeedbacks", (void *)glDeleteTransformFeedbacks, 2, arg0, arg1); +} +PFNGLDELETETRANSFORMFEEDBACKSPROC glad_debug_glDeleteTransformFeedbacks = glad_debug_impl_glDeleteTransformFeedbacks; +PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +void APIENTRY glad_debug_impl_glDeleteVertexArrays(GLsizei arg0, const GLuint *arg1) { + _pre_call_callback("glDeleteVertexArrays", (void *)glDeleteVertexArrays, 2, arg0, arg1); + glad_glDeleteVertexArrays(arg0, arg1); + _post_call_callback("glDeleteVertexArrays", (void *)glDeleteVertexArrays, 2, arg0, arg1); +} +PFNGLDELETEVERTEXARRAYSPROC glad_debug_glDeleteVertexArrays = glad_debug_impl_glDeleteVertexArrays; +PFNGLDEPTHFUNCPROC glad_glDepthFunc; +void APIENTRY glad_debug_impl_glDepthFunc(GLenum arg0) { + _pre_call_callback("glDepthFunc", (void *)glDepthFunc, 1, arg0); + glad_glDepthFunc(arg0); + _post_call_callback("glDepthFunc", (void *)glDepthFunc, 1, arg0); +} +PFNGLDEPTHFUNCPROC glad_debug_glDepthFunc = glad_debug_impl_glDepthFunc; +PFNGLDEPTHMASKPROC glad_glDepthMask; +void APIENTRY glad_debug_impl_glDepthMask(GLboolean arg0) { + _pre_call_callback("glDepthMask", (void *)glDepthMask, 1, arg0); + glad_glDepthMask(arg0); + _post_call_callback("glDepthMask", (void *)glDepthMask, 1, arg0); +} +PFNGLDEPTHMASKPROC glad_debug_glDepthMask = glad_debug_impl_glDepthMask; +PFNGLDEPTHRANGEPROC glad_glDepthRange; +void APIENTRY glad_debug_impl_glDepthRange(GLdouble arg0, GLdouble arg1) { + _pre_call_callback("glDepthRange", (void *)glDepthRange, 2, arg0, arg1); + glad_glDepthRange(arg0, arg1); + _post_call_callback("glDepthRange", (void *)glDepthRange, 2, arg0, arg1); +} +PFNGLDEPTHRANGEPROC glad_debug_glDepthRange = glad_debug_impl_glDepthRange; +PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv; +void APIENTRY glad_debug_impl_glDepthRangeArrayv(GLuint arg0, GLsizei arg1, const GLdouble *arg2) { + _pre_call_callback("glDepthRangeArrayv", (void *)glDepthRangeArrayv, 3, arg0, arg1, arg2); + glad_glDepthRangeArrayv(arg0, arg1, arg2); + _post_call_callback("glDepthRangeArrayv", (void *)glDepthRangeArrayv, 3, arg0, arg1, arg2); +} +PFNGLDEPTHRANGEARRAYVPROC glad_debug_glDepthRangeArrayv = glad_debug_impl_glDepthRangeArrayv; +PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed; +void APIENTRY glad_debug_impl_glDepthRangeIndexed(GLuint arg0, GLdouble arg1, GLdouble arg2) { + _pre_call_callback("glDepthRangeIndexed", (void *)glDepthRangeIndexed, 3, arg0, arg1, arg2); + glad_glDepthRangeIndexed(arg0, arg1, arg2); + _post_call_callback("glDepthRangeIndexed", (void *)glDepthRangeIndexed, 3, arg0, arg1, arg2); +} +PFNGLDEPTHRANGEINDEXEDPROC glad_debug_glDepthRangeIndexed = glad_debug_impl_glDepthRangeIndexed; +PFNGLDEPTHRANGEFPROC glad_glDepthRangef; +void APIENTRY glad_debug_impl_glDepthRangef(GLfloat arg0, GLfloat arg1) { + _pre_call_callback("glDepthRangef", (void *)glDepthRangef, 2, arg0, arg1); + glad_glDepthRangef(arg0, arg1); + _post_call_callback("glDepthRangef", (void *)glDepthRangef, 2, arg0, arg1); +} +PFNGLDEPTHRANGEFPROC glad_debug_glDepthRangef = glad_debug_impl_glDepthRangef; +PFNGLDETACHSHADERPROC glad_glDetachShader; +void APIENTRY glad_debug_impl_glDetachShader(GLuint arg0, GLuint arg1) { + _pre_call_callback("glDetachShader", (void *)glDetachShader, 2, arg0, arg1); + glad_glDetachShader(arg0, arg1); + _post_call_callback("glDetachShader", (void *)glDetachShader, 2, arg0, arg1); +} +PFNGLDETACHSHADERPROC glad_debug_glDetachShader = glad_debug_impl_glDetachShader; +PFNGLDISABLEPROC glad_glDisable; +void APIENTRY glad_debug_impl_glDisable(GLenum arg0) { + _pre_call_callback("glDisable", (void *)glDisable, 1, arg0); + glad_glDisable(arg0); + _post_call_callback("glDisable", (void *)glDisable, 1, arg0); +} +PFNGLDISABLEPROC glad_debug_glDisable = glad_debug_impl_glDisable; +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +void APIENTRY glad_debug_impl_glDisableVertexAttribArray(GLuint arg0) { + _pre_call_callback("glDisableVertexAttribArray", (void *)glDisableVertexAttribArray, 1, arg0); + glad_glDisableVertexAttribArray(arg0); + _post_call_callback("glDisableVertexAttribArray", (void *)glDisableVertexAttribArray, 1, arg0); +} +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_debug_glDisableVertexAttribArray = glad_debug_impl_glDisableVertexAttribArray; +PFNGLDISABLEIPROC glad_glDisablei; +void APIENTRY glad_debug_impl_glDisablei(GLenum arg0, GLuint arg1) { + _pre_call_callback("glDisablei", (void *)glDisablei, 2, arg0, arg1); + glad_glDisablei(arg0, arg1); + _post_call_callback("glDisablei", (void *)glDisablei, 2, arg0, arg1); +} +PFNGLDISABLEIPROC glad_debug_glDisablei = glad_debug_impl_glDisablei; +PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute; +void APIENTRY glad_debug_impl_glDispatchCompute(GLuint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glDispatchCompute", (void *)glDispatchCompute, 3, arg0, arg1, arg2); + glad_glDispatchCompute(arg0, arg1, arg2); + _post_call_callback("glDispatchCompute", (void *)glDispatchCompute, 3, arg0, arg1, arg2); +} +PFNGLDISPATCHCOMPUTEPROC glad_debug_glDispatchCompute = glad_debug_impl_glDispatchCompute; +PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect; +void APIENTRY glad_debug_impl_glDispatchComputeIndirect(GLintptr arg0) { + _pre_call_callback("glDispatchComputeIndirect", (void *)glDispatchComputeIndirect, 1, arg0); + glad_glDispatchComputeIndirect(arg0); + _post_call_callback("glDispatchComputeIndirect", (void *)glDispatchComputeIndirect, 1, arg0); +} +PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_debug_glDispatchComputeIndirect = glad_debug_impl_glDispatchComputeIndirect; +PFNGLDRAWARRAYSPROC glad_glDrawArrays; +void APIENTRY glad_debug_impl_glDrawArrays(GLenum arg0, GLint arg1, GLsizei arg2) { + _pre_call_callback("glDrawArrays", (void *)glDrawArrays, 3, arg0, arg1, arg2); + glad_glDrawArrays(arg0, arg1, arg2); + _post_call_callback("glDrawArrays", (void *)glDrawArrays, 3, arg0, arg1, arg2); +} +PFNGLDRAWARRAYSPROC glad_debug_glDrawArrays = glad_debug_impl_glDrawArrays; +PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect; +void APIENTRY glad_debug_impl_glDrawArraysIndirect(GLenum arg0, const void *arg1) { + _pre_call_callback("glDrawArraysIndirect", (void *)glDrawArraysIndirect, 2, arg0, arg1); + glad_glDrawArraysIndirect(arg0, arg1); + _post_call_callback("glDrawArraysIndirect", (void *)glDrawArraysIndirect, 2, arg0, arg1); +} +PFNGLDRAWARRAYSINDIRECTPROC glad_debug_glDrawArraysIndirect = glad_debug_impl_glDrawArraysIndirect; +PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +void APIENTRY glad_debug_impl_glDrawArraysInstanced(GLenum arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glDrawArraysInstanced", (void *)glDrawArraysInstanced, 4, arg0, arg1, arg2, arg3); + glad_glDrawArraysInstanced(arg0, arg1, arg2, arg3); + _post_call_callback("glDrawArraysInstanced", (void *)glDrawArraysInstanced, 4, arg0, arg1, arg2, arg3); +} +PFNGLDRAWARRAYSINSTANCEDPROC glad_debug_glDrawArraysInstanced = glad_debug_impl_glDrawArraysInstanced; +PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance; +void APIENTRY glad_debug_impl_glDrawArraysInstancedBaseInstance(GLenum arg0, GLint arg1, GLsizei arg2, GLsizei arg3, + GLuint arg4) { + _pre_call_callback("glDrawArraysInstancedBaseInstance", (void *)glDrawArraysInstancedBaseInstance, 5, arg0, arg1, + arg2, arg3, arg4); + glad_glDrawArraysInstancedBaseInstance(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glDrawArraysInstancedBaseInstance", (void *)glDrawArraysInstancedBaseInstance, 5, arg0, arg1, + arg2, arg3, arg4); +} +PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_debug_glDrawArraysInstancedBaseInstance = + glad_debug_impl_glDrawArraysInstancedBaseInstance; +PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +void APIENTRY glad_debug_impl_glDrawBuffer(GLenum arg0) { + _pre_call_callback("glDrawBuffer", (void *)glDrawBuffer, 1, arg0); + glad_glDrawBuffer(arg0); + _post_call_callback("glDrawBuffer", (void *)glDrawBuffer, 1, arg0); +} +PFNGLDRAWBUFFERPROC glad_debug_glDrawBuffer = glad_debug_impl_glDrawBuffer; +PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +void APIENTRY glad_debug_impl_glDrawBuffers(GLsizei arg0, const GLenum *arg1) { + _pre_call_callback("glDrawBuffers", (void *)glDrawBuffers, 2, arg0, arg1); + glad_glDrawBuffers(arg0, arg1); + _post_call_callback("glDrawBuffers", (void *)glDrawBuffers, 2, arg0, arg1); +} +PFNGLDRAWBUFFERSPROC glad_debug_glDrawBuffers = glad_debug_impl_glDrawBuffers; +PFNGLDRAWELEMENTSPROC glad_glDrawElements; +void APIENTRY glad_debug_impl_glDrawElements(GLenum arg0, GLsizei arg1, GLenum arg2, const void *arg3) { + _pre_call_callback("glDrawElements", (void *)glDrawElements, 4, arg0, arg1, arg2, arg3); + glad_glDrawElements(arg0, arg1, arg2, arg3); + _post_call_callback("glDrawElements", (void *)glDrawElements, 4, arg0, arg1, arg2, arg3); +} +PFNGLDRAWELEMENTSPROC glad_debug_glDrawElements = glad_debug_impl_glDrawElements; +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +void APIENTRY glad_debug_impl_glDrawElementsBaseVertex(GLenum arg0, GLsizei arg1, GLenum arg2, const void *arg3, + GLint arg4) { + _pre_call_callback("glDrawElementsBaseVertex", (void *)glDrawElementsBaseVertex, 5, arg0, arg1, arg2, arg3, arg4); + glad_glDrawElementsBaseVertex(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glDrawElementsBaseVertex", (void *)glDrawElementsBaseVertex, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_debug_glDrawElementsBaseVertex = glad_debug_impl_glDrawElementsBaseVertex; +PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect; +void APIENTRY glad_debug_impl_glDrawElementsIndirect(GLenum arg0, GLenum arg1, const void *arg2) { + _pre_call_callback("glDrawElementsIndirect", (void *)glDrawElementsIndirect, 3, arg0, arg1, arg2); + glad_glDrawElementsIndirect(arg0, arg1, arg2); + _post_call_callback("glDrawElementsIndirect", (void *)glDrawElementsIndirect, 3, arg0, arg1, arg2); +} +PFNGLDRAWELEMENTSINDIRECTPROC glad_debug_glDrawElementsIndirect = glad_debug_impl_glDrawElementsIndirect; +PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +void APIENTRY glad_debug_impl_glDrawElementsInstanced(GLenum arg0, GLsizei arg1, GLenum arg2, const void *arg3, + GLsizei arg4) { + _pre_call_callback("glDrawElementsInstanced", (void *)glDrawElementsInstanced, 5, arg0, arg1, arg2, arg3, arg4); + glad_glDrawElementsInstanced(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glDrawElementsInstanced", (void *)glDrawElementsInstanced, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLDRAWELEMENTSINSTANCEDPROC glad_debug_glDrawElementsInstanced = glad_debug_impl_glDrawElementsInstanced; +PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance; +void APIENTRY glad_debug_impl_glDrawElementsInstancedBaseInstance(GLenum arg0, GLsizei arg1, GLenum arg2, + const void *arg3, GLsizei arg4, GLuint arg5) { + _pre_call_callback("glDrawElementsInstancedBaseInstance", (void *)glDrawElementsInstancedBaseInstance, 6, arg0, + arg1, arg2, arg3, arg4, arg5); + glad_glDrawElementsInstancedBaseInstance(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDrawElementsInstancedBaseInstance", (void *)glDrawElementsInstancedBaseInstance, 6, arg0, + arg1, arg2, arg3, arg4, arg5); +} +PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_debug_glDrawElementsInstancedBaseInstance = + glad_debug_impl_glDrawElementsInstancedBaseInstance; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +void APIENTRY glad_debug_impl_glDrawElementsInstancedBaseVertex(GLenum arg0, GLsizei arg1, GLenum arg2, + const void *arg3, GLsizei arg4, GLint arg5) { + _pre_call_callback("glDrawElementsInstancedBaseVertex", (void *)glDrawElementsInstancedBaseVertex, 6, arg0, arg1, + arg2, arg3, arg4, arg5); + glad_glDrawElementsInstancedBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDrawElementsInstancedBaseVertex", (void *)glDrawElementsInstancedBaseVertex, 6, arg0, arg1, + arg2, arg3, arg4, arg5); +} +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_debug_glDrawElementsInstancedBaseVertex = + glad_debug_impl_glDrawElementsInstancedBaseVertex; +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance; +void APIENTRY glad_debug_impl_glDrawElementsInstancedBaseVertexBaseInstance(GLenum arg0, GLsizei arg1, GLenum arg2, + const void *arg3, GLsizei arg4, GLint arg5, + GLuint arg6) { + _pre_call_callback("glDrawElementsInstancedBaseVertexBaseInstance", + (void *)glDrawElementsInstancedBaseVertexBaseInstance, 7, arg0, arg1, arg2, arg3, arg4, arg5, + arg6); + glad_glDrawElementsInstancedBaseVertexBaseInstance(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glDrawElementsInstancedBaseVertexBaseInstance", + (void *)glDrawElementsInstancedBaseVertexBaseInstance, 7, arg0, arg1, arg2, arg3, arg4, arg5, + arg6); +} +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_debug_glDrawElementsInstancedBaseVertexBaseInstance = + glad_debug_impl_glDrawElementsInstancedBaseVertexBaseInstance; +PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +void APIENTRY glad_debug_impl_glDrawRangeElements(GLenum arg0, GLuint arg1, GLuint arg2, GLsizei arg3, GLenum arg4, + const void *arg5) { + _pre_call_callback("glDrawRangeElements", (void *)glDrawRangeElements, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glDrawRangeElements(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDrawRangeElements", (void *)glDrawRangeElements, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLDRAWRANGEELEMENTSPROC glad_debug_glDrawRangeElements = glad_debug_impl_glDrawRangeElements; +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +void APIENTRY glad_debug_impl_glDrawRangeElementsBaseVertex(GLenum arg0, GLuint arg1, GLuint arg2, GLsizei arg3, + GLenum arg4, const void *arg5, GLint arg6) { + _pre_call_callback("glDrawRangeElementsBaseVertex", (void *)glDrawRangeElementsBaseVertex, 7, arg0, arg1, arg2, + arg3, arg4, arg5, arg6); + glad_glDrawRangeElementsBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glDrawRangeElementsBaseVertex", (void *)glDrawRangeElementsBaseVertex, 7, arg0, arg1, arg2, + arg3, arg4, arg5, arg6); +} +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_debug_glDrawRangeElementsBaseVertex = + glad_debug_impl_glDrawRangeElementsBaseVertex; +PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback; +void APIENTRY glad_debug_impl_glDrawTransformFeedback(GLenum arg0, GLuint arg1) { + _pre_call_callback("glDrawTransformFeedback", (void *)glDrawTransformFeedback, 2, arg0, arg1); + glad_glDrawTransformFeedback(arg0, arg1); + _post_call_callback("glDrawTransformFeedback", (void *)glDrawTransformFeedback, 2, arg0, arg1); +} +PFNGLDRAWTRANSFORMFEEDBACKPROC glad_debug_glDrawTransformFeedback = glad_debug_impl_glDrawTransformFeedback; +PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced; +void APIENTRY glad_debug_impl_glDrawTransformFeedbackInstanced(GLenum arg0, GLuint arg1, GLsizei arg2) { + _pre_call_callback("glDrawTransformFeedbackInstanced", (void *)glDrawTransformFeedbackInstanced, 3, arg0, arg1, + arg2); + glad_glDrawTransformFeedbackInstanced(arg0, arg1, arg2); + _post_call_callback("glDrawTransformFeedbackInstanced", (void *)glDrawTransformFeedbackInstanced, 3, arg0, arg1, + arg2); +} +PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_debug_glDrawTransformFeedbackInstanced = + glad_debug_impl_glDrawTransformFeedbackInstanced; +PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream; +void APIENTRY glad_debug_impl_glDrawTransformFeedbackStream(GLenum arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glDrawTransformFeedbackStream", (void *)glDrawTransformFeedbackStream, 3, arg0, arg1, arg2); + glad_glDrawTransformFeedbackStream(arg0, arg1, arg2); + _post_call_callback("glDrawTransformFeedbackStream", (void *)glDrawTransformFeedbackStream, 3, arg0, arg1, arg2); +} +PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_debug_glDrawTransformFeedbackStream = + glad_debug_impl_glDrawTransformFeedbackStream; +PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced; +void APIENTRY glad_debug_impl_glDrawTransformFeedbackStreamInstanced(GLenum arg0, GLuint arg1, GLuint arg2, + GLsizei arg3) { + _pre_call_callback("glDrawTransformFeedbackStreamInstanced", (void *)glDrawTransformFeedbackStreamInstanced, 4, + arg0, arg1, arg2, arg3); + glad_glDrawTransformFeedbackStreamInstanced(arg0, arg1, arg2, arg3); + _post_call_callback("glDrawTransformFeedbackStreamInstanced", (void *)glDrawTransformFeedbackStreamInstanced, 4, + arg0, arg1, arg2, arg3); +} +PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_debug_glDrawTransformFeedbackStreamInstanced = + glad_debug_impl_glDrawTransformFeedbackStreamInstanced; +PFNGLENABLEPROC glad_glEnable; +void APIENTRY glad_debug_impl_glEnable(GLenum arg0) { + _pre_call_callback("glEnable", (void *)glEnable, 1, arg0); + glad_glEnable(arg0); + _post_call_callback("glEnable", (void *)glEnable, 1, arg0); +} +PFNGLENABLEPROC glad_debug_glEnable = glad_debug_impl_glEnable; +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +void APIENTRY glad_debug_impl_glEnableVertexAttribArray(GLuint arg0) { + _pre_call_callback("glEnableVertexAttribArray", (void *)glEnableVertexAttribArray, 1, arg0); + glad_glEnableVertexAttribArray(arg0); + _post_call_callback("glEnableVertexAttribArray", (void *)glEnableVertexAttribArray, 1, arg0); +} +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_debug_glEnableVertexAttribArray = glad_debug_impl_glEnableVertexAttribArray; +PFNGLENABLEIPROC glad_glEnablei; +void APIENTRY glad_debug_impl_glEnablei(GLenum arg0, GLuint arg1) { + _pre_call_callback("glEnablei", (void *)glEnablei, 2, arg0, arg1); + glad_glEnablei(arg0, arg1); + _post_call_callback("glEnablei", (void *)glEnablei, 2, arg0, arg1); +} +PFNGLENABLEIPROC glad_debug_glEnablei = glad_debug_impl_glEnablei; +PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +void APIENTRY glad_debug_impl_glEndConditionalRender(void) { + _pre_call_callback("glEndConditionalRender", (void *)glEndConditionalRender, 0); + glad_glEndConditionalRender(); + _post_call_callback("glEndConditionalRender", (void *)glEndConditionalRender, 0); +} +PFNGLENDCONDITIONALRENDERPROC glad_debug_glEndConditionalRender = glad_debug_impl_glEndConditionalRender; +PFNGLENDQUERYPROC glad_glEndQuery; +void APIENTRY glad_debug_impl_glEndQuery(GLenum arg0) { + _pre_call_callback("glEndQuery", (void *)glEndQuery, 1, arg0); + glad_glEndQuery(arg0); + _post_call_callback("glEndQuery", (void *)glEndQuery, 1, arg0); +} +PFNGLENDQUERYPROC glad_debug_glEndQuery = glad_debug_impl_glEndQuery; +PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed; +void APIENTRY glad_debug_impl_glEndQueryIndexed(GLenum arg0, GLuint arg1) { + _pre_call_callback("glEndQueryIndexed", (void *)glEndQueryIndexed, 2, arg0, arg1); + glad_glEndQueryIndexed(arg0, arg1); + _post_call_callback("glEndQueryIndexed", (void *)glEndQueryIndexed, 2, arg0, arg1); +} +PFNGLENDQUERYINDEXEDPROC glad_debug_glEndQueryIndexed = glad_debug_impl_glEndQueryIndexed; +PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +void APIENTRY glad_debug_impl_glEndTransformFeedback(void) { + _pre_call_callback("glEndTransformFeedback", (void *)glEndTransformFeedback, 0); + glad_glEndTransformFeedback(); + _post_call_callback("glEndTransformFeedback", (void *)glEndTransformFeedback, 0); +} +PFNGLENDTRANSFORMFEEDBACKPROC glad_debug_glEndTransformFeedback = glad_debug_impl_glEndTransformFeedback; +PFNGLFENCESYNCPROC glad_glFenceSync; +GLsync APIENTRY glad_debug_impl_glFenceSync(GLenum arg0, GLbitfield arg1) { + GLsync ret; + _pre_call_callback("glFenceSync", (void *)glFenceSync, 2, arg0, arg1); + ret = glad_glFenceSync(arg0, arg1); + _post_call_callback("glFenceSync", (void *)glFenceSync, 2, arg0, arg1); + return ret; +} +PFNGLFENCESYNCPROC glad_debug_glFenceSync = glad_debug_impl_glFenceSync; +PFNGLFINISHPROC glad_glFinish; +void APIENTRY glad_debug_impl_glFinish(void) { + _pre_call_callback("glFinish", (void *)glFinish, 0); + glad_glFinish(); + _post_call_callback("glFinish", (void *)glFinish, 0); +} +PFNGLFINISHPROC glad_debug_glFinish = glad_debug_impl_glFinish; +PFNGLFLUSHPROC glad_glFlush; +void APIENTRY glad_debug_impl_glFlush(void) { + _pre_call_callback("glFlush", (void *)glFlush, 0); + glad_glFlush(); + _post_call_callback("glFlush", (void *)glFlush, 0); +} +PFNGLFLUSHPROC glad_debug_glFlush = glad_debug_impl_glFlush; +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +void APIENTRY glad_debug_impl_glFlushMappedBufferRange(GLenum arg0, GLintptr arg1, GLsizeiptr arg2) { + _pre_call_callback("glFlushMappedBufferRange", (void *)glFlushMappedBufferRange, 3, arg0, arg1, arg2); + glad_glFlushMappedBufferRange(arg0, arg1, arg2); + _post_call_callback("glFlushMappedBufferRange", (void *)glFlushMappedBufferRange, 3, arg0, arg1, arg2); +} +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_debug_glFlushMappedBufferRange = glad_debug_impl_glFlushMappedBufferRange; +PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri; +void APIENTRY glad_debug_impl_glFramebufferParameteri(GLenum arg0, GLenum arg1, GLint arg2) { + _pre_call_callback("glFramebufferParameteri", (void *)glFramebufferParameteri, 3, arg0, arg1, arg2); + glad_glFramebufferParameteri(arg0, arg1, arg2); + _post_call_callback("glFramebufferParameteri", (void *)glFramebufferParameteri, 3, arg0, arg1, arg2); +} +PFNGLFRAMEBUFFERPARAMETERIPROC glad_debug_glFramebufferParameteri = glad_debug_impl_glFramebufferParameteri; +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +void APIENTRY glad_debug_impl_glFramebufferRenderbuffer(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3) { + _pre_call_callback("glFramebufferRenderbuffer", (void *)glFramebufferRenderbuffer, 4, arg0, arg1, arg2, arg3); + glad_glFramebufferRenderbuffer(arg0, arg1, arg2, arg3); + _post_call_callback("glFramebufferRenderbuffer", (void *)glFramebufferRenderbuffer, 4, arg0, arg1, arg2, arg3); +} +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_debug_glFramebufferRenderbuffer = glad_debug_impl_glFramebufferRenderbuffer; +PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +void APIENTRY glad_debug_impl_glFramebufferTexture(GLenum arg0, GLenum arg1, GLuint arg2, GLint arg3) { + _pre_call_callback("glFramebufferTexture", (void *)glFramebufferTexture, 4, arg0, arg1, arg2, arg3); + glad_glFramebufferTexture(arg0, arg1, arg2, arg3); + _post_call_callback("glFramebufferTexture", (void *)glFramebufferTexture, 4, arg0, arg1, arg2, arg3); +} +PFNGLFRAMEBUFFERTEXTUREPROC glad_debug_glFramebufferTexture = glad_debug_impl_glFramebufferTexture; +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +void APIENTRY glad_debug_impl_glFramebufferTexture1D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) { + _pre_call_callback("glFramebufferTexture1D", (void *)glFramebufferTexture1D, 5, arg0, arg1, arg2, arg3, arg4); + glad_glFramebufferTexture1D(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glFramebufferTexture1D", (void *)glFramebufferTexture1D, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_debug_glFramebufferTexture1D = glad_debug_impl_glFramebufferTexture1D; +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +void APIENTRY glad_debug_impl_glFramebufferTexture2D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) { + _pre_call_callback("glFramebufferTexture2D", (void *)glFramebufferTexture2D, 5, arg0, arg1, arg2, arg3, arg4); + glad_glFramebufferTexture2D(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glFramebufferTexture2D", (void *)glFramebufferTexture2D, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_debug_glFramebufferTexture2D = glad_debug_impl_glFramebufferTexture2D; +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +void APIENTRY glad_debug_impl_glFramebufferTexture3D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4, + GLint arg5) { + _pre_call_callback("glFramebufferTexture3D", (void *)glFramebufferTexture3D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glFramebufferTexture3D(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glFramebufferTexture3D", (void *)glFramebufferTexture3D, 6, arg0, arg1, arg2, arg3, arg4, + arg5); +} +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_debug_glFramebufferTexture3D = glad_debug_impl_glFramebufferTexture3D; +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +void APIENTRY glad_debug_impl_glFramebufferTextureLayer(GLenum arg0, GLenum arg1, GLuint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glFramebufferTextureLayer", (void *)glFramebufferTextureLayer, 5, arg0, arg1, arg2, arg3, arg4); + glad_glFramebufferTextureLayer(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glFramebufferTextureLayer", (void *)glFramebufferTextureLayer, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_debug_glFramebufferTextureLayer = glad_debug_impl_glFramebufferTextureLayer; +PFNGLFRONTFACEPROC glad_glFrontFace; +void APIENTRY glad_debug_impl_glFrontFace(GLenum arg0) { + _pre_call_callback("glFrontFace", (void *)glFrontFace, 1, arg0); + glad_glFrontFace(arg0); + _post_call_callback("glFrontFace", (void *)glFrontFace, 1, arg0); +} +PFNGLFRONTFACEPROC glad_debug_glFrontFace = glad_debug_impl_glFrontFace; +PFNGLGENBUFFERSPROC glad_glGenBuffers; +void APIENTRY glad_debug_impl_glGenBuffers(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenBuffers", (void *)glGenBuffers, 2, arg0, arg1); + glad_glGenBuffers(arg0, arg1); + _post_call_callback("glGenBuffers", (void *)glGenBuffers, 2, arg0, arg1); +} +PFNGLGENBUFFERSPROC glad_debug_glGenBuffers = glad_debug_impl_glGenBuffers; +PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +void APIENTRY glad_debug_impl_glGenFramebuffers(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenFramebuffers", (void *)glGenFramebuffers, 2, arg0, arg1); + glad_glGenFramebuffers(arg0, arg1); + _post_call_callback("glGenFramebuffers", (void *)glGenFramebuffers, 2, arg0, arg1); +} +PFNGLGENFRAMEBUFFERSPROC glad_debug_glGenFramebuffers = glad_debug_impl_glGenFramebuffers; +PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines; +void APIENTRY glad_debug_impl_glGenProgramPipelines(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenProgramPipelines", (void *)glGenProgramPipelines, 2, arg0, arg1); + glad_glGenProgramPipelines(arg0, arg1); + _post_call_callback("glGenProgramPipelines", (void *)glGenProgramPipelines, 2, arg0, arg1); +} +PFNGLGENPROGRAMPIPELINESPROC glad_debug_glGenProgramPipelines = glad_debug_impl_glGenProgramPipelines; +PFNGLGENQUERIESPROC glad_glGenQueries; +void APIENTRY glad_debug_impl_glGenQueries(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenQueries", (void *)glGenQueries, 2, arg0, arg1); + glad_glGenQueries(arg0, arg1); + _post_call_callback("glGenQueries", (void *)glGenQueries, 2, arg0, arg1); +} +PFNGLGENQUERIESPROC glad_debug_glGenQueries = glad_debug_impl_glGenQueries; +PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +void APIENTRY glad_debug_impl_glGenRenderbuffers(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenRenderbuffers", (void *)glGenRenderbuffers, 2, arg0, arg1); + glad_glGenRenderbuffers(arg0, arg1); + _post_call_callback("glGenRenderbuffers", (void *)glGenRenderbuffers, 2, arg0, arg1); +} +PFNGLGENRENDERBUFFERSPROC glad_debug_glGenRenderbuffers = glad_debug_impl_glGenRenderbuffers; +PFNGLGENSAMPLERSPROC glad_glGenSamplers; +void APIENTRY glad_debug_impl_glGenSamplers(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenSamplers", (void *)glGenSamplers, 2, arg0, arg1); + glad_glGenSamplers(arg0, arg1); + _post_call_callback("glGenSamplers", (void *)glGenSamplers, 2, arg0, arg1); +} +PFNGLGENSAMPLERSPROC glad_debug_glGenSamplers = glad_debug_impl_glGenSamplers; +PFNGLGENTEXTURESPROC glad_glGenTextures; +void APIENTRY glad_debug_impl_glGenTextures(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenTextures", (void *)glGenTextures, 2, arg0, arg1); + glad_glGenTextures(arg0, arg1); + _post_call_callback("glGenTextures", (void *)glGenTextures, 2, arg0, arg1); +} +PFNGLGENTEXTURESPROC glad_debug_glGenTextures = glad_debug_impl_glGenTextures; +PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks; +void APIENTRY glad_debug_impl_glGenTransformFeedbacks(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenTransformFeedbacks", (void *)glGenTransformFeedbacks, 2, arg0, arg1); + glad_glGenTransformFeedbacks(arg0, arg1); + _post_call_callback("glGenTransformFeedbacks", (void *)glGenTransformFeedbacks, 2, arg0, arg1); +} +PFNGLGENTRANSFORMFEEDBACKSPROC glad_debug_glGenTransformFeedbacks = glad_debug_impl_glGenTransformFeedbacks; +PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +void APIENTRY glad_debug_impl_glGenVertexArrays(GLsizei arg0, GLuint *arg1) { + _pre_call_callback("glGenVertexArrays", (void *)glGenVertexArrays, 2, arg0, arg1); + glad_glGenVertexArrays(arg0, arg1); + _post_call_callback("glGenVertexArrays", (void *)glGenVertexArrays, 2, arg0, arg1); +} +PFNGLGENVERTEXARRAYSPROC glad_debug_glGenVertexArrays = glad_debug_impl_glGenVertexArrays; +PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +void APIENTRY glad_debug_impl_glGenerateMipmap(GLenum arg0) { + _pre_call_callback("glGenerateMipmap", (void *)glGenerateMipmap, 1, arg0); + glad_glGenerateMipmap(arg0); + _post_call_callback("glGenerateMipmap", (void *)glGenerateMipmap, 1, arg0); +} +PFNGLGENERATEMIPMAPPROC glad_debug_glGenerateMipmap = glad_debug_impl_glGenerateMipmap; +PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv; +void APIENTRY glad_debug_impl_glGetActiveAtomicCounterBufferiv(GLuint arg0, GLuint arg1, GLenum arg2, GLint *arg3) { + _pre_call_callback("glGetActiveAtomicCounterBufferiv", (void *)glGetActiveAtomicCounterBufferiv, 4, arg0, arg1, + arg2, arg3); + glad_glGetActiveAtomicCounterBufferiv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetActiveAtomicCounterBufferiv", (void *)glGetActiveAtomicCounterBufferiv, 4, arg0, arg1, + arg2, arg3); +} +PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_debug_glGetActiveAtomicCounterBufferiv = + glad_debug_impl_glGetActiveAtomicCounterBufferiv; +PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +void APIENTRY glad_debug_impl_glGetActiveAttrib(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei *arg3, GLint *arg4, + GLenum *arg5, GLchar *arg6) { + _pre_call_callback("glGetActiveAttrib", (void *)glGetActiveAttrib, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glGetActiveAttrib(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glGetActiveAttrib", (void *)glGetActiveAttrib, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +PFNGLGETACTIVEATTRIBPROC glad_debug_glGetActiveAttrib = glad_debug_impl_glGetActiveAttrib; +PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName; +void APIENTRY glad_debug_impl_glGetActiveSubroutineName(GLuint arg0, GLenum arg1, GLuint arg2, GLsizei arg3, + GLsizei *arg4, GLchar *arg5) { + _pre_call_callback("glGetActiveSubroutineName", (void *)glGetActiveSubroutineName, 6, arg0, arg1, arg2, arg3, arg4, + arg5); + glad_glGetActiveSubroutineName(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glGetActiveSubroutineName", (void *)glGetActiveSubroutineName, 6, arg0, arg1, arg2, arg3, arg4, + arg5); +} +PFNGLGETACTIVESUBROUTINENAMEPROC glad_debug_glGetActiveSubroutineName = glad_debug_impl_glGetActiveSubroutineName; +PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName; +void APIENTRY glad_debug_impl_glGetActiveSubroutineUniformName(GLuint arg0, GLenum arg1, GLuint arg2, GLsizei arg3, + GLsizei *arg4, GLchar *arg5) { + _pre_call_callback("glGetActiveSubroutineUniformName", (void *)glGetActiveSubroutineUniformName, 6, arg0, arg1, + arg2, arg3, arg4, arg5); + glad_glGetActiveSubroutineUniformName(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glGetActiveSubroutineUniformName", (void *)glGetActiveSubroutineUniformName, 6, arg0, arg1, + arg2, arg3, arg4, arg5); +} +PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_debug_glGetActiveSubroutineUniformName = + glad_debug_impl_glGetActiveSubroutineUniformName; +PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv; +void APIENTRY glad_debug_impl_glGetActiveSubroutineUniformiv(GLuint arg0, GLenum arg1, GLuint arg2, GLenum arg3, + GLint *arg4) { + _pre_call_callback("glGetActiveSubroutineUniformiv", (void *)glGetActiveSubroutineUniformiv, 5, arg0, arg1, arg2, + arg3, arg4); + glad_glGetActiveSubroutineUniformiv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveSubroutineUniformiv", (void *)glGetActiveSubroutineUniformiv, 5, arg0, arg1, arg2, + arg3, arg4); +} +PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_debug_glGetActiveSubroutineUniformiv = + glad_debug_impl_glGetActiveSubroutineUniformiv; +PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +void APIENTRY glad_debug_impl_glGetActiveUniform(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei *arg3, GLint *arg4, + GLenum *arg5, GLchar *arg6) { + _pre_call_callback("glGetActiveUniform", (void *)glGetActiveUniform, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glGetActiveUniform(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glGetActiveUniform", (void *)glGetActiveUniform, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +PFNGLGETACTIVEUNIFORMPROC glad_debug_glGetActiveUniform = glad_debug_impl_glGetActiveUniform; +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +void APIENTRY glad_debug_impl_glGetActiveUniformBlockName(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei *arg3, + GLchar *arg4) { + _pre_call_callback("glGetActiveUniformBlockName", (void *)glGetActiveUniformBlockName, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glGetActiveUniformBlockName(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveUniformBlockName", (void *)glGetActiveUniformBlockName, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_debug_glGetActiveUniformBlockName = glad_debug_impl_glGetActiveUniformBlockName; +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +void APIENTRY glad_debug_impl_glGetActiveUniformBlockiv(GLuint arg0, GLuint arg1, GLenum arg2, GLint *arg3) { + _pre_call_callback("glGetActiveUniformBlockiv", (void *)glGetActiveUniformBlockiv, 4, arg0, arg1, arg2, arg3); + glad_glGetActiveUniformBlockiv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetActiveUniformBlockiv", (void *)glGetActiveUniformBlockiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_debug_glGetActiveUniformBlockiv = glad_debug_impl_glGetActiveUniformBlockiv; +PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +void APIENTRY glad_debug_impl_glGetActiveUniformName(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei *arg3, + GLchar *arg4) { + _pre_call_callback("glGetActiveUniformName", (void *)glGetActiveUniformName, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetActiveUniformName(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveUniformName", (void *)glGetActiveUniformName, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETACTIVEUNIFORMNAMEPROC glad_debug_glGetActiveUniformName = glad_debug_impl_glGetActiveUniformName; +PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +void APIENTRY glad_debug_impl_glGetActiveUniformsiv(GLuint arg0, GLsizei arg1, const GLuint *arg2, GLenum arg3, + GLint *arg4) { + _pre_call_callback("glGetActiveUniformsiv", (void *)glGetActiveUniformsiv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetActiveUniformsiv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveUniformsiv", (void *)glGetActiveUniformsiv, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETACTIVEUNIFORMSIVPROC glad_debug_glGetActiveUniformsiv = glad_debug_impl_glGetActiveUniformsiv; +PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +void APIENTRY glad_debug_impl_glGetAttachedShaders(GLuint arg0, GLsizei arg1, GLsizei *arg2, GLuint *arg3) { + _pre_call_callback("glGetAttachedShaders", (void *)glGetAttachedShaders, 4, arg0, arg1, arg2, arg3); + glad_glGetAttachedShaders(arg0, arg1, arg2, arg3); + _post_call_callback("glGetAttachedShaders", (void *)glGetAttachedShaders, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETATTACHEDSHADERSPROC glad_debug_glGetAttachedShaders = glad_debug_impl_glGetAttachedShaders; +PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +GLint APIENTRY glad_debug_impl_glGetAttribLocation(GLuint arg0, const GLchar *arg1) { + GLint ret; + _pre_call_callback("glGetAttribLocation", (void *)glGetAttribLocation, 2, arg0, arg1); + ret = glad_glGetAttribLocation(arg0, arg1); + _post_call_callback("glGetAttribLocation", (void *)glGetAttribLocation, 2, arg0, arg1); + return ret; +} +PFNGLGETATTRIBLOCATIONPROC glad_debug_glGetAttribLocation = glad_debug_impl_glGetAttribLocation; +PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +void APIENTRY glad_debug_impl_glGetBooleani_v(GLenum arg0, GLuint arg1, GLboolean *arg2) { + _pre_call_callback("glGetBooleani_v", (void *)glGetBooleani_v, 3, arg0, arg1, arg2); + glad_glGetBooleani_v(arg0, arg1, arg2); + _post_call_callback("glGetBooleani_v", (void *)glGetBooleani_v, 3, arg0, arg1, arg2); +} +PFNGLGETBOOLEANI_VPROC glad_debug_glGetBooleani_v = glad_debug_impl_glGetBooleani_v; +PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +void APIENTRY glad_debug_impl_glGetBooleanv(GLenum arg0, GLboolean *arg1) { + _pre_call_callback("glGetBooleanv", (void *)glGetBooleanv, 2, arg0, arg1); + glad_glGetBooleanv(arg0, arg1); + _post_call_callback("glGetBooleanv", (void *)glGetBooleanv, 2, arg0, arg1); +} +PFNGLGETBOOLEANVPROC glad_debug_glGetBooleanv = glad_debug_impl_glGetBooleanv; +PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +void APIENTRY glad_debug_impl_glGetBufferParameteri64v(GLenum arg0, GLenum arg1, GLint64 *arg2) { + _pre_call_callback("glGetBufferParameteri64v", (void *)glGetBufferParameteri64v, 3, arg0, arg1, arg2); + glad_glGetBufferParameteri64v(arg0, arg1, arg2); + _post_call_callback("glGetBufferParameteri64v", (void *)glGetBufferParameteri64v, 3, arg0, arg1, arg2); +} +PFNGLGETBUFFERPARAMETERI64VPROC glad_debug_glGetBufferParameteri64v = glad_debug_impl_glGetBufferParameteri64v; +PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +void APIENTRY glad_debug_impl_glGetBufferParameteriv(GLenum arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetBufferParameteriv", (void *)glGetBufferParameteriv, 3, arg0, arg1, arg2); + glad_glGetBufferParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetBufferParameteriv", (void *)glGetBufferParameteriv, 3, arg0, arg1, arg2); +} +PFNGLGETBUFFERPARAMETERIVPROC glad_debug_glGetBufferParameteriv = glad_debug_impl_glGetBufferParameteriv; +PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +void APIENTRY glad_debug_impl_glGetBufferPointerv(GLenum arg0, GLenum arg1, void **arg2) { + _pre_call_callback("glGetBufferPointerv", (void *)glGetBufferPointerv, 3, arg0, arg1, arg2); + glad_glGetBufferPointerv(arg0, arg1, arg2); + _post_call_callback("glGetBufferPointerv", (void *)glGetBufferPointerv, 3, arg0, arg1, arg2); +} +PFNGLGETBUFFERPOINTERVPROC glad_debug_glGetBufferPointerv = glad_debug_impl_glGetBufferPointerv; +PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +void APIENTRY glad_debug_impl_glGetBufferSubData(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, void *arg3) { + _pre_call_callback("glGetBufferSubData", (void *)glGetBufferSubData, 4, arg0, arg1, arg2, arg3); + glad_glGetBufferSubData(arg0, arg1, arg2, arg3); + _post_call_callback("glGetBufferSubData", (void *)glGetBufferSubData, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETBUFFERSUBDATAPROC glad_debug_glGetBufferSubData = glad_debug_impl_glGetBufferSubData; +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +void APIENTRY glad_debug_impl_glGetCompressedTexImage(GLenum arg0, GLint arg1, void *arg2) { + _pre_call_callback("glGetCompressedTexImage", (void *)glGetCompressedTexImage, 3, arg0, arg1, arg2); + glad_glGetCompressedTexImage(arg0, arg1, arg2); + _post_call_callback("glGetCompressedTexImage", (void *)glGetCompressedTexImage, 3, arg0, arg1, arg2); +} +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_debug_glGetCompressedTexImage = glad_debug_impl_glGetCompressedTexImage; +PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog; +GLuint APIENTRY glad_debug_impl_glGetDebugMessageLog(GLuint arg0, GLsizei arg1, GLenum *arg2, GLenum *arg3, + GLuint *arg4, GLenum *arg5, GLsizei *arg6, GLchar *arg7) { + GLuint ret; + _pre_call_callback("glGetDebugMessageLog", (void *)glGetDebugMessageLog, 8, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7); + ret = glad_glGetDebugMessageLog(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glGetDebugMessageLog", (void *)glGetDebugMessageLog, 8, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7); + return ret; +} +PFNGLGETDEBUGMESSAGELOGPROC glad_debug_glGetDebugMessageLog = glad_debug_impl_glGetDebugMessageLog; +PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v; +void APIENTRY glad_debug_impl_glGetDoublei_v(GLenum arg0, GLuint arg1, GLdouble *arg2) { + _pre_call_callback("glGetDoublei_v", (void *)glGetDoublei_v, 3, arg0, arg1, arg2); + glad_glGetDoublei_v(arg0, arg1, arg2); + _post_call_callback("glGetDoublei_v", (void *)glGetDoublei_v, 3, arg0, arg1, arg2); +} +PFNGLGETDOUBLEI_VPROC glad_debug_glGetDoublei_v = glad_debug_impl_glGetDoublei_v; +PFNGLGETDOUBLEVPROC glad_glGetDoublev; +void APIENTRY glad_debug_impl_glGetDoublev(GLenum arg0, GLdouble *arg1) { + _pre_call_callback("glGetDoublev", (void *)glGetDoublev, 2, arg0, arg1); + glad_glGetDoublev(arg0, arg1); + _post_call_callback("glGetDoublev", (void *)glGetDoublev, 2, arg0, arg1); +} +PFNGLGETDOUBLEVPROC glad_debug_glGetDoublev = glad_debug_impl_glGetDoublev; +PFNGLGETERRORPROC glad_glGetError; +GLenum APIENTRY glad_debug_impl_glGetError(void) { + GLenum ret; + _pre_call_callback("glGetError", (void *)glGetError, 0); + ret = glad_glGetError(); + _post_call_callback("glGetError", (void *)glGetError, 0); + return ret; +} +PFNGLGETERRORPROC glad_debug_glGetError = glad_debug_impl_glGetError; +PFNGLGETFLOATI_VPROC glad_glGetFloati_v; +void APIENTRY glad_debug_impl_glGetFloati_v(GLenum arg0, GLuint arg1, GLfloat *arg2) { + _pre_call_callback("glGetFloati_v", (void *)glGetFloati_v, 3, arg0, arg1, arg2); + glad_glGetFloati_v(arg0, arg1, arg2); + _post_call_callback("glGetFloati_v", (void *)glGetFloati_v, 3, arg0, arg1, arg2); +} +PFNGLGETFLOATI_VPROC glad_debug_glGetFloati_v = glad_debug_impl_glGetFloati_v; +PFNGLGETFLOATVPROC glad_glGetFloatv; +void APIENTRY glad_debug_impl_glGetFloatv(GLenum arg0, GLfloat *arg1) { + _pre_call_callback("glGetFloatv", (void *)glGetFloatv, 2, arg0, arg1); + glad_glGetFloatv(arg0, arg1); + _post_call_callback("glGetFloatv", (void *)glGetFloatv, 2, arg0, arg1); +} +PFNGLGETFLOATVPROC glad_debug_glGetFloatv = glad_debug_impl_glGetFloatv; +PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +GLint APIENTRY glad_debug_impl_glGetFragDataIndex(GLuint arg0, const GLchar *arg1) { + GLint ret; + _pre_call_callback("glGetFragDataIndex", (void *)glGetFragDataIndex, 2, arg0, arg1); + ret = glad_glGetFragDataIndex(arg0, arg1); + _post_call_callback("glGetFragDataIndex", (void *)glGetFragDataIndex, 2, arg0, arg1); + return ret; +} +PFNGLGETFRAGDATAINDEXPROC glad_debug_glGetFragDataIndex = glad_debug_impl_glGetFragDataIndex; +PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +GLint APIENTRY glad_debug_impl_glGetFragDataLocation(GLuint arg0, const GLchar *arg1) { + GLint ret; + _pre_call_callback("glGetFragDataLocation", (void *)glGetFragDataLocation, 2, arg0, arg1); + ret = glad_glGetFragDataLocation(arg0, arg1); + _post_call_callback("glGetFragDataLocation", (void *)glGetFragDataLocation, 2, arg0, arg1); + return ret; +} +PFNGLGETFRAGDATALOCATIONPROC glad_debug_glGetFragDataLocation = glad_debug_impl_glGetFragDataLocation; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +void APIENTRY glad_debug_impl_glGetFramebufferAttachmentParameteriv(GLenum arg0, GLenum arg1, GLenum arg2, + GLint *arg3) { + _pre_call_callback("glGetFramebufferAttachmentParameteriv", (void *)glGetFramebufferAttachmentParameteriv, 4, arg0, + arg1, arg2, arg3); + glad_glGetFramebufferAttachmentParameteriv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetFramebufferAttachmentParameteriv", (void *)glGetFramebufferAttachmentParameteriv, 4, arg0, + arg1, arg2, arg3); +} +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetFramebufferAttachmentParameteriv = + glad_debug_impl_glGetFramebufferAttachmentParameteriv; +PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv; +void APIENTRY glad_debug_impl_glGetFramebufferParameteriv(GLenum arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetFramebufferParameteriv", (void *)glGetFramebufferParameteriv, 3, arg0, arg1, arg2); + glad_glGetFramebufferParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetFramebufferParameteriv", (void *)glGetFramebufferParameteriv, 3, arg0, arg1, arg2); +} +PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_debug_glGetFramebufferParameteriv = glad_debug_impl_glGetFramebufferParameteriv; +PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +void APIENTRY glad_debug_impl_glGetInteger64i_v(GLenum arg0, GLuint arg1, GLint64 *arg2) { + _pre_call_callback("glGetInteger64i_v", (void *)glGetInteger64i_v, 3, arg0, arg1, arg2); + glad_glGetInteger64i_v(arg0, arg1, arg2); + _post_call_callback("glGetInteger64i_v", (void *)glGetInteger64i_v, 3, arg0, arg1, arg2); +} +PFNGLGETINTEGER64I_VPROC glad_debug_glGetInteger64i_v = glad_debug_impl_glGetInteger64i_v; +PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +void APIENTRY glad_debug_impl_glGetInteger64v(GLenum arg0, GLint64 *arg1) { + _pre_call_callback("glGetInteger64v", (void *)glGetInteger64v, 2, arg0, arg1); + glad_glGetInteger64v(arg0, arg1); + _post_call_callback("glGetInteger64v", (void *)glGetInteger64v, 2, arg0, arg1); +} +PFNGLGETINTEGER64VPROC glad_debug_glGetInteger64v = glad_debug_impl_glGetInteger64v; +PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +void APIENTRY glad_debug_impl_glGetIntegeri_v(GLenum arg0, GLuint arg1, GLint *arg2) { + _pre_call_callback("glGetIntegeri_v", (void *)glGetIntegeri_v, 3, arg0, arg1, arg2); + glad_glGetIntegeri_v(arg0, arg1, arg2); + _post_call_callback("glGetIntegeri_v", (void *)glGetIntegeri_v, 3, arg0, arg1, arg2); +} +PFNGLGETINTEGERI_VPROC glad_debug_glGetIntegeri_v = glad_debug_impl_glGetIntegeri_v; +PFNGLGETINTEGERVPROC glad_glGetIntegerv; +void APIENTRY glad_debug_impl_glGetIntegerv(GLenum arg0, GLint *arg1) { + _pre_call_callback("glGetIntegerv", (void *)glGetIntegerv, 2, arg0, arg1); + glad_glGetIntegerv(arg0, arg1); + _post_call_callback("glGetIntegerv", (void *)glGetIntegerv, 2, arg0, arg1); +} +PFNGLGETINTEGERVPROC glad_debug_glGetIntegerv = glad_debug_impl_glGetIntegerv; +PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v; +void APIENTRY glad_debug_impl_glGetInternalformati64v(GLenum arg0, GLenum arg1, GLenum arg2, GLsizei arg3, + GLint64 *arg4) { + _pre_call_callback("glGetInternalformati64v", (void *)glGetInternalformati64v, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetInternalformati64v(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetInternalformati64v", (void *)glGetInternalformati64v, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETINTERNALFORMATI64VPROC glad_debug_glGetInternalformati64v = glad_debug_impl_glGetInternalformati64v; +PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ; +void APIENTRY glad_debug_impl_glGetInternalformativ(GLenum arg0, GLenum arg1, GLenum arg2, GLsizei arg3, GLint *arg4) { + _pre_call_callback("glGetInternalformativ", (void *)glGetInternalformativ, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetInternalformativ(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetInternalformativ", (void *)glGetInternalformativ, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETINTERNALFORMATIVPROC glad_debug_glGetInternalformativ = glad_debug_impl_glGetInternalformativ; +PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +void APIENTRY glad_debug_impl_glGetMultisamplefv(GLenum arg0, GLuint arg1, GLfloat *arg2) { + _pre_call_callback("glGetMultisamplefv", (void *)glGetMultisamplefv, 3, arg0, arg1, arg2); + glad_glGetMultisamplefv(arg0, arg1, arg2); + _post_call_callback("glGetMultisamplefv", (void *)glGetMultisamplefv, 3, arg0, arg1, arg2); +} +PFNGLGETMULTISAMPLEFVPROC glad_debug_glGetMultisamplefv = glad_debug_impl_glGetMultisamplefv; +PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel; +void APIENTRY glad_debug_impl_glGetObjectLabel(GLenum arg0, GLuint arg1, GLsizei arg2, GLsizei *arg3, GLchar *arg4) { + _pre_call_callback("glGetObjectLabel", (void *)glGetObjectLabel, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetObjectLabel(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetObjectLabel", (void *)glGetObjectLabel, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETOBJECTLABELPROC glad_debug_glGetObjectLabel = glad_debug_impl_glGetObjectLabel; +PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel; +void APIENTRY glad_debug_impl_glGetObjectPtrLabel(const void *arg0, GLsizei arg1, GLsizei *arg2, GLchar *arg3) { + _pre_call_callback("glGetObjectPtrLabel", (void *)glGetObjectPtrLabel, 4, arg0, arg1, arg2, arg3); + glad_glGetObjectPtrLabel(arg0, arg1, arg2, arg3); + _post_call_callback("glGetObjectPtrLabel", (void *)glGetObjectPtrLabel, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETOBJECTPTRLABELPROC glad_debug_glGetObjectPtrLabel = glad_debug_impl_glGetObjectPtrLabel; +PFNGLGETPOINTERVPROC glad_glGetPointerv; +void APIENTRY glad_debug_impl_glGetPointerv(GLenum arg0, void **arg1) { + _pre_call_callback("glGetPointerv", (void *)glGetPointerv, 2, arg0, arg1); + glad_glGetPointerv(arg0, arg1); + _post_call_callback("glGetPointerv", (void *)glGetPointerv, 2, arg0, arg1); +} +PFNGLGETPOINTERVPROC glad_debug_glGetPointerv = glad_debug_impl_glGetPointerv; +PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary; +void APIENTRY glad_debug_impl_glGetProgramBinary(GLuint arg0, GLsizei arg1, GLsizei *arg2, GLenum *arg3, void *arg4) { + _pre_call_callback("glGetProgramBinary", (void *)glGetProgramBinary, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetProgramBinary(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetProgramBinary", (void *)glGetProgramBinary, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETPROGRAMBINARYPROC glad_debug_glGetProgramBinary = glad_debug_impl_glGetProgramBinary; +PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +void APIENTRY glad_debug_impl_glGetProgramInfoLog(GLuint arg0, GLsizei arg1, GLsizei *arg2, GLchar *arg3) { + _pre_call_callback("glGetProgramInfoLog", (void *)glGetProgramInfoLog, 4, arg0, arg1, arg2, arg3); + glad_glGetProgramInfoLog(arg0, arg1, arg2, arg3); + _post_call_callback("glGetProgramInfoLog", (void *)glGetProgramInfoLog, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETPROGRAMINFOLOGPROC glad_debug_glGetProgramInfoLog = glad_debug_impl_glGetProgramInfoLog; +PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv; +void APIENTRY glad_debug_impl_glGetProgramInterfaceiv(GLuint arg0, GLenum arg1, GLenum arg2, GLint *arg3) { + _pre_call_callback("glGetProgramInterfaceiv", (void *)glGetProgramInterfaceiv, 4, arg0, arg1, arg2, arg3); + glad_glGetProgramInterfaceiv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetProgramInterfaceiv", (void *)glGetProgramInterfaceiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETPROGRAMINTERFACEIVPROC glad_debug_glGetProgramInterfaceiv = glad_debug_impl_glGetProgramInterfaceiv; +PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog; +void APIENTRY glad_debug_impl_glGetProgramPipelineInfoLog(GLuint arg0, GLsizei arg1, GLsizei *arg2, GLchar *arg3) { + _pre_call_callback("glGetProgramPipelineInfoLog", (void *)glGetProgramPipelineInfoLog, 4, arg0, arg1, arg2, arg3); + glad_glGetProgramPipelineInfoLog(arg0, arg1, arg2, arg3); + _post_call_callback("glGetProgramPipelineInfoLog", (void *)glGetProgramPipelineInfoLog, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_debug_glGetProgramPipelineInfoLog = glad_debug_impl_glGetProgramPipelineInfoLog; +PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv; +void APIENTRY glad_debug_impl_glGetProgramPipelineiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetProgramPipelineiv", (void *)glGetProgramPipelineiv, 3, arg0, arg1, arg2); + glad_glGetProgramPipelineiv(arg0, arg1, arg2); + _post_call_callback("glGetProgramPipelineiv", (void *)glGetProgramPipelineiv, 3, arg0, arg1, arg2); +} +PFNGLGETPROGRAMPIPELINEIVPROC glad_debug_glGetProgramPipelineiv = glad_debug_impl_glGetProgramPipelineiv; +PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex; +GLuint APIENTRY glad_debug_impl_glGetProgramResourceIndex(GLuint arg0, GLenum arg1, const GLchar *arg2) { + GLuint ret; + _pre_call_callback("glGetProgramResourceIndex", (void *)glGetProgramResourceIndex, 3, arg0, arg1, arg2); + ret = glad_glGetProgramResourceIndex(arg0, arg1, arg2); + _post_call_callback("glGetProgramResourceIndex", (void *)glGetProgramResourceIndex, 3, arg0, arg1, arg2); + return ret; +} +PFNGLGETPROGRAMRESOURCEINDEXPROC glad_debug_glGetProgramResourceIndex = glad_debug_impl_glGetProgramResourceIndex; +PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation; +GLint APIENTRY glad_debug_impl_glGetProgramResourceLocation(GLuint arg0, GLenum arg1, const GLchar *arg2) { + GLint ret; + _pre_call_callback("glGetProgramResourceLocation", (void *)glGetProgramResourceLocation, 3, arg0, arg1, arg2); + ret = glad_glGetProgramResourceLocation(arg0, arg1, arg2); + _post_call_callback("glGetProgramResourceLocation", (void *)glGetProgramResourceLocation, 3, arg0, arg1, arg2); + return ret; +} +PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_debug_glGetProgramResourceLocation = + glad_debug_impl_glGetProgramResourceLocation; +PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex; +GLint APIENTRY glad_debug_impl_glGetProgramResourceLocationIndex(GLuint arg0, GLenum arg1, const GLchar *arg2) { + GLint ret; + _pre_call_callback("glGetProgramResourceLocationIndex", (void *)glGetProgramResourceLocationIndex, 3, arg0, arg1, + arg2); + ret = glad_glGetProgramResourceLocationIndex(arg0, arg1, arg2); + _post_call_callback("glGetProgramResourceLocationIndex", (void *)glGetProgramResourceLocationIndex, 3, arg0, arg1, + arg2); + return ret; +} +PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_debug_glGetProgramResourceLocationIndex = + glad_debug_impl_glGetProgramResourceLocationIndex; +PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName; +void APIENTRY glad_debug_impl_glGetProgramResourceName(GLuint arg0, GLenum arg1, GLuint arg2, GLsizei arg3, + GLsizei *arg4, GLchar *arg5) { + _pre_call_callback("glGetProgramResourceName", (void *)glGetProgramResourceName, 6, arg0, arg1, arg2, arg3, arg4, + arg5); + glad_glGetProgramResourceName(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glGetProgramResourceName", (void *)glGetProgramResourceName, 6, arg0, arg1, arg2, arg3, arg4, + arg5); +} +PFNGLGETPROGRAMRESOURCENAMEPROC glad_debug_glGetProgramResourceName = glad_debug_impl_glGetProgramResourceName; +PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv; +void APIENTRY glad_debug_impl_glGetProgramResourceiv(GLuint arg0, GLenum arg1, GLuint arg2, GLsizei arg3, + const GLenum *arg4, GLsizei arg5, GLsizei *arg6, GLint *arg7) { + _pre_call_callback("glGetProgramResourceiv", (void *)glGetProgramResourceiv, 8, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7); + glad_glGetProgramResourceiv(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glGetProgramResourceiv", (void *)glGetProgramResourceiv, 8, arg0, arg1, arg2, arg3, arg4, arg5, + arg6, arg7); +} +PFNGLGETPROGRAMRESOURCEIVPROC glad_debug_glGetProgramResourceiv = glad_debug_impl_glGetProgramResourceiv; +PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv; +void APIENTRY glad_debug_impl_glGetProgramStageiv(GLuint arg0, GLenum arg1, GLenum arg2, GLint *arg3) { + _pre_call_callback("glGetProgramStageiv", (void *)glGetProgramStageiv, 4, arg0, arg1, arg2, arg3); + glad_glGetProgramStageiv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetProgramStageiv", (void *)glGetProgramStageiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETPROGRAMSTAGEIVPROC glad_debug_glGetProgramStageiv = glad_debug_impl_glGetProgramStageiv; +PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +void APIENTRY glad_debug_impl_glGetProgramiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetProgramiv", (void *)glGetProgramiv, 3, arg0, arg1, arg2); + glad_glGetProgramiv(arg0, arg1, arg2); + _post_call_callback("glGetProgramiv", (void *)glGetProgramiv, 3, arg0, arg1, arg2); +} +PFNGLGETPROGRAMIVPROC glad_debug_glGetProgramiv = glad_debug_impl_glGetProgramiv; +PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv; +void APIENTRY glad_debug_impl_glGetQueryIndexediv(GLenum arg0, GLuint arg1, GLenum arg2, GLint *arg3) { + _pre_call_callback("glGetQueryIndexediv", (void *)glGetQueryIndexediv, 4, arg0, arg1, arg2, arg3); + glad_glGetQueryIndexediv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetQueryIndexediv", (void *)glGetQueryIndexediv, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETQUERYINDEXEDIVPROC glad_debug_glGetQueryIndexediv = glad_debug_impl_glGetQueryIndexediv; +PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +void APIENTRY glad_debug_impl_glGetQueryObjecti64v(GLuint arg0, GLenum arg1, GLint64 *arg2) { + _pre_call_callback("glGetQueryObjecti64v", (void *)glGetQueryObjecti64v, 3, arg0, arg1, arg2); + glad_glGetQueryObjecti64v(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjecti64v", (void *)glGetQueryObjecti64v, 3, arg0, arg1, arg2); +} +PFNGLGETQUERYOBJECTI64VPROC glad_debug_glGetQueryObjecti64v = glad_debug_impl_glGetQueryObjecti64v; +PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +void APIENTRY glad_debug_impl_glGetQueryObjectiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetQueryObjectiv", (void *)glGetQueryObjectiv, 3, arg0, arg1, arg2); + glad_glGetQueryObjectiv(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjectiv", (void *)glGetQueryObjectiv, 3, arg0, arg1, arg2); +} +PFNGLGETQUERYOBJECTIVPROC glad_debug_glGetQueryObjectiv = glad_debug_impl_glGetQueryObjectiv; +PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +void APIENTRY glad_debug_impl_glGetQueryObjectui64v(GLuint arg0, GLenum arg1, GLuint64 *arg2) { + _pre_call_callback("glGetQueryObjectui64v", (void *)glGetQueryObjectui64v, 3, arg0, arg1, arg2); + glad_glGetQueryObjectui64v(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjectui64v", (void *)glGetQueryObjectui64v, 3, arg0, arg1, arg2); +} +PFNGLGETQUERYOBJECTUI64VPROC glad_debug_glGetQueryObjectui64v = glad_debug_impl_glGetQueryObjectui64v; +PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +void APIENTRY glad_debug_impl_glGetQueryObjectuiv(GLuint arg0, GLenum arg1, GLuint *arg2) { + _pre_call_callback("glGetQueryObjectuiv", (void *)glGetQueryObjectuiv, 3, arg0, arg1, arg2); + glad_glGetQueryObjectuiv(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjectuiv", (void *)glGetQueryObjectuiv, 3, arg0, arg1, arg2); +} +PFNGLGETQUERYOBJECTUIVPROC glad_debug_glGetQueryObjectuiv = glad_debug_impl_glGetQueryObjectuiv; +PFNGLGETQUERYIVPROC glad_glGetQueryiv; +void APIENTRY glad_debug_impl_glGetQueryiv(GLenum arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetQueryiv", (void *)glGetQueryiv, 3, arg0, arg1, arg2); + glad_glGetQueryiv(arg0, arg1, arg2); + _post_call_callback("glGetQueryiv", (void *)glGetQueryiv, 3, arg0, arg1, arg2); +} +PFNGLGETQUERYIVPROC glad_debug_glGetQueryiv = glad_debug_impl_glGetQueryiv; +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +void APIENTRY glad_debug_impl_glGetRenderbufferParameteriv(GLenum arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetRenderbufferParameteriv", (void *)glGetRenderbufferParameteriv, 3, arg0, arg1, arg2); + glad_glGetRenderbufferParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetRenderbufferParameteriv", (void *)glGetRenderbufferParameteriv, 3, arg0, arg1, arg2); +} +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_debug_glGetRenderbufferParameteriv = + glad_debug_impl_glGetRenderbufferParameteriv; +PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +void APIENTRY glad_debug_impl_glGetSamplerParameterIiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetSamplerParameterIiv", (void *)glGetSamplerParameterIiv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameterIiv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameterIiv", (void *)glGetSamplerParameterIiv, 3, arg0, arg1, arg2); +} +PFNGLGETSAMPLERPARAMETERIIVPROC glad_debug_glGetSamplerParameterIiv = glad_debug_impl_glGetSamplerParameterIiv; +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +void APIENTRY glad_debug_impl_glGetSamplerParameterIuiv(GLuint arg0, GLenum arg1, GLuint *arg2) { + _pre_call_callback("glGetSamplerParameterIuiv", (void *)glGetSamplerParameterIuiv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameterIuiv", (void *)glGetSamplerParameterIuiv, 3, arg0, arg1, arg2); +} +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_debug_glGetSamplerParameterIuiv = glad_debug_impl_glGetSamplerParameterIuiv; +PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +void APIENTRY glad_debug_impl_glGetSamplerParameterfv(GLuint arg0, GLenum arg1, GLfloat *arg2) { + _pre_call_callback("glGetSamplerParameterfv", (void *)glGetSamplerParameterfv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameterfv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameterfv", (void *)glGetSamplerParameterfv, 3, arg0, arg1, arg2); +} +PFNGLGETSAMPLERPARAMETERFVPROC glad_debug_glGetSamplerParameterfv = glad_debug_impl_glGetSamplerParameterfv; +PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +void APIENTRY glad_debug_impl_glGetSamplerParameteriv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetSamplerParameteriv", (void *)glGetSamplerParameteriv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameteriv", (void *)glGetSamplerParameteriv, 3, arg0, arg1, arg2); +} +PFNGLGETSAMPLERPARAMETERIVPROC glad_debug_glGetSamplerParameteriv = glad_debug_impl_glGetSamplerParameteriv; +PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +void APIENTRY glad_debug_impl_glGetShaderInfoLog(GLuint arg0, GLsizei arg1, GLsizei *arg2, GLchar *arg3) { + _pre_call_callback("glGetShaderInfoLog", (void *)glGetShaderInfoLog, 4, arg0, arg1, arg2, arg3); + glad_glGetShaderInfoLog(arg0, arg1, arg2, arg3); + _post_call_callback("glGetShaderInfoLog", (void *)glGetShaderInfoLog, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETSHADERINFOLOGPROC glad_debug_glGetShaderInfoLog = glad_debug_impl_glGetShaderInfoLog; +PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat; +void APIENTRY glad_debug_impl_glGetShaderPrecisionFormat(GLenum arg0, GLenum arg1, GLint *arg2, GLint *arg3) { + _pre_call_callback("glGetShaderPrecisionFormat", (void *)glGetShaderPrecisionFormat, 4, arg0, arg1, arg2, arg3); + glad_glGetShaderPrecisionFormat(arg0, arg1, arg2, arg3); + _post_call_callback("glGetShaderPrecisionFormat", (void *)glGetShaderPrecisionFormat, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETSHADERPRECISIONFORMATPROC glad_debug_glGetShaderPrecisionFormat = glad_debug_impl_glGetShaderPrecisionFormat; +PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +void APIENTRY glad_debug_impl_glGetShaderSource(GLuint arg0, GLsizei arg1, GLsizei *arg2, GLchar *arg3) { + _pre_call_callback("glGetShaderSource", (void *)glGetShaderSource, 4, arg0, arg1, arg2, arg3); + glad_glGetShaderSource(arg0, arg1, arg2, arg3); + _post_call_callback("glGetShaderSource", (void *)glGetShaderSource, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETSHADERSOURCEPROC glad_debug_glGetShaderSource = glad_debug_impl_glGetShaderSource; +PFNGLGETSHADERIVPROC glad_glGetShaderiv; +void APIENTRY glad_debug_impl_glGetShaderiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetShaderiv", (void *)glGetShaderiv, 3, arg0, arg1, arg2); + glad_glGetShaderiv(arg0, arg1, arg2); + _post_call_callback("glGetShaderiv", (void *)glGetShaderiv, 3, arg0, arg1, arg2); +} +PFNGLGETSHADERIVPROC glad_debug_glGetShaderiv = glad_debug_impl_glGetShaderiv; +PFNGLGETSTRINGPROC glad_glGetString; +const GLubyte *APIENTRY glad_debug_impl_glGetString(GLenum arg0) { + const GLubyte *ret; + _pre_call_callback("glGetString", (void *)glGetString, 1, arg0); + ret = glad_glGetString(arg0); + _post_call_callback("glGetString", (void *)glGetString, 1, arg0); + return ret; +} +PFNGLGETSTRINGPROC glad_debug_glGetString = glad_debug_impl_glGetString; +PFNGLGETSTRINGIPROC glad_glGetStringi; +const GLubyte *APIENTRY glad_debug_impl_glGetStringi(GLenum arg0, GLuint arg1) { + const GLubyte *ret; + _pre_call_callback("glGetStringi", (void *)glGetStringi, 2, arg0, arg1); + ret = glad_glGetStringi(arg0, arg1); + _post_call_callback("glGetStringi", (void *)glGetStringi, 2, arg0, arg1); + return ret; +} +PFNGLGETSTRINGIPROC glad_debug_glGetStringi = glad_debug_impl_glGetStringi; +PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex; +GLuint APIENTRY glad_debug_impl_glGetSubroutineIndex(GLuint arg0, GLenum arg1, const GLchar *arg2) { + GLuint ret; + _pre_call_callback("glGetSubroutineIndex", (void *)glGetSubroutineIndex, 3, arg0, arg1, arg2); + ret = glad_glGetSubroutineIndex(arg0, arg1, arg2); + _post_call_callback("glGetSubroutineIndex", (void *)glGetSubroutineIndex, 3, arg0, arg1, arg2); + return ret; +} +PFNGLGETSUBROUTINEINDEXPROC glad_debug_glGetSubroutineIndex = glad_debug_impl_glGetSubroutineIndex; +PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation; +GLint APIENTRY glad_debug_impl_glGetSubroutineUniformLocation(GLuint arg0, GLenum arg1, const GLchar *arg2) { + GLint ret; + _pre_call_callback("glGetSubroutineUniformLocation", (void *)glGetSubroutineUniformLocation, 3, arg0, arg1, arg2); + ret = glad_glGetSubroutineUniformLocation(arg0, arg1, arg2); + _post_call_callback("glGetSubroutineUniformLocation", (void *)glGetSubroutineUniformLocation, 3, arg0, arg1, arg2); + return ret; +} +PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_debug_glGetSubroutineUniformLocation = + glad_debug_impl_glGetSubroutineUniformLocation; +PFNGLGETSYNCIVPROC glad_glGetSynciv; +void APIENTRY glad_debug_impl_glGetSynciv(GLsync arg0, GLenum arg1, GLsizei arg2, GLsizei *arg3, GLint *arg4) { + _pre_call_callback("glGetSynciv", (void *)glGetSynciv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetSynciv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetSynciv", (void *)glGetSynciv, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETSYNCIVPROC glad_debug_glGetSynciv = glad_debug_impl_glGetSynciv; +PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +void APIENTRY glad_debug_impl_glGetTexImage(GLenum arg0, GLint arg1, GLenum arg2, GLenum arg3, void *arg4) { + _pre_call_callback("glGetTexImage", (void *)glGetTexImage, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetTexImage(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetTexImage", (void *)glGetTexImage, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLGETTEXIMAGEPROC glad_debug_glGetTexImage = glad_debug_impl_glGetTexImage; +PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +void APIENTRY glad_debug_impl_glGetTexLevelParameterfv(GLenum arg0, GLint arg1, GLenum arg2, GLfloat *arg3) { + _pre_call_callback("glGetTexLevelParameterfv", (void *)glGetTexLevelParameterfv, 4, arg0, arg1, arg2, arg3); + glad_glGetTexLevelParameterfv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetTexLevelParameterfv", (void *)glGetTexLevelParameterfv, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETTEXLEVELPARAMETERFVPROC glad_debug_glGetTexLevelParameterfv = glad_debug_impl_glGetTexLevelParameterfv; +PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +void APIENTRY glad_debug_impl_glGetTexLevelParameteriv(GLenum arg0, GLint arg1, GLenum arg2, GLint *arg3) { + _pre_call_callback("glGetTexLevelParameteriv", (void *)glGetTexLevelParameteriv, 4, arg0, arg1, arg2, arg3); + glad_glGetTexLevelParameteriv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetTexLevelParameteriv", (void *)glGetTexLevelParameteriv, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETTEXLEVELPARAMETERIVPROC glad_debug_glGetTexLevelParameteriv = glad_debug_impl_glGetTexLevelParameteriv; +PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +void APIENTRY glad_debug_impl_glGetTexParameterIiv(GLenum arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetTexParameterIiv", (void *)glGetTexParameterIiv, 3, arg0, arg1, arg2); + glad_glGetTexParameterIiv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameterIiv", (void *)glGetTexParameterIiv, 3, arg0, arg1, arg2); +} +PFNGLGETTEXPARAMETERIIVPROC glad_debug_glGetTexParameterIiv = glad_debug_impl_glGetTexParameterIiv; +PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +void APIENTRY glad_debug_impl_glGetTexParameterIuiv(GLenum arg0, GLenum arg1, GLuint *arg2) { + _pre_call_callback("glGetTexParameterIuiv", (void *)glGetTexParameterIuiv, 3, arg0, arg1, arg2); + glad_glGetTexParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameterIuiv", (void *)glGetTexParameterIuiv, 3, arg0, arg1, arg2); +} +PFNGLGETTEXPARAMETERIUIVPROC glad_debug_glGetTexParameterIuiv = glad_debug_impl_glGetTexParameterIuiv; +PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +void APIENTRY glad_debug_impl_glGetTexParameterfv(GLenum arg0, GLenum arg1, GLfloat *arg2) { + _pre_call_callback("glGetTexParameterfv", (void *)glGetTexParameterfv, 3, arg0, arg1, arg2); + glad_glGetTexParameterfv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameterfv", (void *)glGetTexParameterfv, 3, arg0, arg1, arg2); +} +PFNGLGETTEXPARAMETERFVPROC glad_debug_glGetTexParameterfv = glad_debug_impl_glGetTexParameterfv; +PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +void APIENTRY glad_debug_impl_glGetTexParameteriv(GLenum arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetTexParameteriv", (void *)glGetTexParameteriv, 3, arg0, arg1, arg2); + glad_glGetTexParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameteriv", (void *)glGetTexParameteriv, 3, arg0, arg1, arg2); +} +PFNGLGETTEXPARAMETERIVPROC glad_debug_glGetTexParameteriv = glad_debug_impl_glGetTexParameteriv; +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +void APIENTRY glad_debug_impl_glGetTransformFeedbackVarying(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei *arg3, + GLsizei *arg4, GLenum *arg5, GLchar *arg6) { + _pre_call_callback("glGetTransformFeedbackVarying", (void *)glGetTransformFeedbackVarying, 7, arg0, arg1, arg2, + arg3, arg4, arg5, arg6); + glad_glGetTransformFeedbackVarying(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glGetTransformFeedbackVarying", (void *)glGetTransformFeedbackVarying, 7, arg0, arg1, arg2, + arg3, arg4, arg5, arg6); +} +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_debug_glGetTransformFeedbackVarying = + glad_debug_impl_glGetTransformFeedbackVarying; +PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +GLuint APIENTRY glad_debug_impl_glGetUniformBlockIndex(GLuint arg0, const GLchar *arg1) { + GLuint ret; + _pre_call_callback("glGetUniformBlockIndex", (void *)glGetUniformBlockIndex, 2, arg0, arg1); + ret = glad_glGetUniformBlockIndex(arg0, arg1); + _post_call_callback("glGetUniformBlockIndex", (void *)glGetUniformBlockIndex, 2, arg0, arg1); + return ret; +} +PFNGLGETUNIFORMBLOCKINDEXPROC glad_debug_glGetUniformBlockIndex = glad_debug_impl_glGetUniformBlockIndex; +PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +void APIENTRY glad_debug_impl_glGetUniformIndices(GLuint arg0, GLsizei arg1, const GLchar *const *arg2, GLuint *arg3) { + _pre_call_callback("glGetUniformIndices", (void *)glGetUniformIndices, 4, arg0, arg1, arg2, arg3); + glad_glGetUniformIndices(arg0, arg1, arg2, arg3); + _post_call_callback("glGetUniformIndices", (void *)glGetUniformIndices, 4, arg0, arg1, arg2, arg3); +} +PFNGLGETUNIFORMINDICESPROC glad_debug_glGetUniformIndices = glad_debug_impl_glGetUniformIndices; +PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +GLint APIENTRY glad_debug_impl_glGetUniformLocation(GLuint arg0, const GLchar *arg1) { + GLint ret; + _pre_call_callback("glGetUniformLocation", (void *)glGetUniformLocation, 2, arg0, arg1); + ret = glad_glGetUniformLocation(arg0, arg1); + _post_call_callback("glGetUniformLocation", (void *)glGetUniformLocation, 2, arg0, arg1); + return ret; +} +PFNGLGETUNIFORMLOCATIONPROC glad_debug_glGetUniformLocation = glad_debug_impl_glGetUniformLocation; +PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv; +void APIENTRY glad_debug_impl_glGetUniformSubroutineuiv(GLenum arg0, GLint arg1, GLuint *arg2) { + _pre_call_callback("glGetUniformSubroutineuiv", (void *)glGetUniformSubroutineuiv, 3, arg0, arg1, arg2); + glad_glGetUniformSubroutineuiv(arg0, arg1, arg2); + _post_call_callback("glGetUniformSubroutineuiv", (void *)glGetUniformSubroutineuiv, 3, arg0, arg1, arg2); +} +PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_debug_glGetUniformSubroutineuiv = glad_debug_impl_glGetUniformSubroutineuiv; +PFNGLGETUNIFORMDVPROC glad_glGetUniformdv; +void APIENTRY glad_debug_impl_glGetUniformdv(GLuint arg0, GLint arg1, GLdouble *arg2) { + _pre_call_callback("glGetUniformdv", (void *)glGetUniformdv, 3, arg0, arg1, arg2); + glad_glGetUniformdv(arg0, arg1, arg2); + _post_call_callback("glGetUniformdv", (void *)glGetUniformdv, 3, arg0, arg1, arg2); +} +PFNGLGETUNIFORMDVPROC glad_debug_glGetUniformdv = glad_debug_impl_glGetUniformdv; +PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +void APIENTRY glad_debug_impl_glGetUniformfv(GLuint arg0, GLint arg1, GLfloat *arg2) { + _pre_call_callback("glGetUniformfv", (void *)glGetUniformfv, 3, arg0, arg1, arg2); + glad_glGetUniformfv(arg0, arg1, arg2); + _post_call_callback("glGetUniformfv", (void *)glGetUniformfv, 3, arg0, arg1, arg2); +} +PFNGLGETUNIFORMFVPROC glad_debug_glGetUniformfv = glad_debug_impl_glGetUniformfv; +PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +void APIENTRY glad_debug_impl_glGetUniformiv(GLuint arg0, GLint arg1, GLint *arg2) { + _pre_call_callback("glGetUniformiv", (void *)glGetUniformiv, 3, arg0, arg1, arg2); + glad_glGetUniformiv(arg0, arg1, arg2); + _post_call_callback("glGetUniformiv", (void *)glGetUniformiv, 3, arg0, arg1, arg2); +} +PFNGLGETUNIFORMIVPROC glad_debug_glGetUniformiv = glad_debug_impl_glGetUniformiv; +PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +void APIENTRY glad_debug_impl_glGetUniformuiv(GLuint arg0, GLint arg1, GLuint *arg2) { + _pre_call_callback("glGetUniformuiv", (void *)glGetUniformuiv, 3, arg0, arg1, arg2); + glad_glGetUniformuiv(arg0, arg1, arg2); + _post_call_callback("glGetUniformuiv", (void *)glGetUniformuiv, 3, arg0, arg1, arg2); +} +PFNGLGETUNIFORMUIVPROC glad_debug_glGetUniformuiv = glad_debug_impl_glGetUniformuiv; +PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +void APIENTRY glad_debug_impl_glGetVertexAttribIiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetVertexAttribIiv", (void *)glGetVertexAttribIiv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribIiv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribIiv", (void *)glGetVertexAttribIiv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBIIVPROC glad_debug_glGetVertexAttribIiv = glad_debug_impl_glGetVertexAttribIiv; +PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +void APIENTRY glad_debug_impl_glGetVertexAttribIuiv(GLuint arg0, GLenum arg1, GLuint *arg2) { + _pre_call_callback("glGetVertexAttribIuiv", (void *)glGetVertexAttribIuiv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribIuiv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribIuiv", (void *)glGetVertexAttribIuiv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBIUIVPROC glad_debug_glGetVertexAttribIuiv = glad_debug_impl_glGetVertexAttribIuiv; +PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv; +void APIENTRY glad_debug_impl_glGetVertexAttribLdv(GLuint arg0, GLenum arg1, GLdouble *arg2) { + _pre_call_callback("glGetVertexAttribLdv", (void *)glGetVertexAttribLdv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribLdv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribLdv", (void *)glGetVertexAttribLdv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBLDVPROC glad_debug_glGetVertexAttribLdv = glad_debug_impl_glGetVertexAttribLdv; +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +void APIENTRY glad_debug_impl_glGetVertexAttribPointerv(GLuint arg0, GLenum arg1, void **arg2) { + _pre_call_callback("glGetVertexAttribPointerv", (void *)glGetVertexAttribPointerv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribPointerv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribPointerv", (void *)glGetVertexAttribPointerv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_debug_glGetVertexAttribPointerv = glad_debug_impl_glGetVertexAttribPointerv; +PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +void APIENTRY glad_debug_impl_glGetVertexAttribdv(GLuint arg0, GLenum arg1, GLdouble *arg2) { + _pre_call_callback("glGetVertexAttribdv", (void *)glGetVertexAttribdv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribdv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribdv", (void *)glGetVertexAttribdv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBDVPROC glad_debug_glGetVertexAttribdv = glad_debug_impl_glGetVertexAttribdv; +PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +void APIENTRY glad_debug_impl_glGetVertexAttribfv(GLuint arg0, GLenum arg1, GLfloat *arg2) { + _pre_call_callback("glGetVertexAttribfv", (void *)glGetVertexAttribfv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribfv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribfv", (void *)glGetVertexAttribfv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBFVPROC glad_debug_glGetVertexAttribfv = glad_debug_impl_glGetVertexAttribfv; +PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +void APIENTRY glad_debug_impl_glGetVertexAttribiv(GLuint arg0, GLenum arg1, GLint *arg2) { + _pre_call_callback("glGetVertexAttribiv", (void *)glGetVertexAttribiv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribiv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribiv", (void *)glGetVertexAttribiv, 3, arg0, arg1, arg2); +} +PFNGLGETVERTEXATTRIBIVPROC glad_debug_glGetVertexAttribiv = glad_debug_impl_glGetVertexAttribiv; +PFNGLHINTPROC glad_glHint; +void APIENTRY glad_debug_impl_glHint(GLenum arg0, GLenum arg1) { + _pre_call_callback("glHint", (void *)glHint, 2, arg0, arg1); + glad_glHint(arg0, arg1); + _post_call_callback("glHint", (void *)glHint, 2, arg0, arg1); +} +PFNGLHINTPROC glad_debug_glHint = glad_debug_impl_glHint; +PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData; +void APIENTRY glad_debug_impl_glInvalidateBufferData(GLuint arg0) { + _pre_call_callback("glInvalidateBufferData", (void *)glInvalidateBufferData, 1, arg0); + glad_glInvalidateBufferData(arg0); + _post_call_callback("glInvalidateBufferData", (void *)glInvalidateBufferData, 1, arg0); +} +PFNGLINVALIDATEBUFFERDATAPROC glad_debug_glInvalidateBufferData = glad_debug_impl_glInvalidateBufferData; +PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData; +void APIENTRY glad_debug_impl_glInvalidateBufferSubData(GLuint arg0, GLintptr arg1, GLsizeiptr arg2) { + _pre_call_callback("glInvalidateBufferSubData", (void *)glInvalidateBufferSubData, 3, arg0, arg1, arg2); + glad_glInvalidateBufferSubData(arg0, arg1, arg2); + _post_call_callback("glInvalidateBufferSubData", (void *)glInvalidateBufferSubData, 3, arg0, arg1, arg2); +} +PFNGLINVALIDATEBUFFERSUBDATAPROC glad_debug_glInvalidateBufferSubData = glad_debug_impl_glInvalidateBufferSubData; +PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer; +void APIENTRY glad_debug_impl_glInvalidateFramebuffer(GLenum arg0, GLsizei arg1, const GLenum *arg2) { + _pre_call_callback("glInvalidateFramebuffer", (void *)glInvalidateFramebuffer, 3, arg0, arg1, arg2); + glad_glInvalidateFramebuffer(arg0, arg1, arg2); + _post_call_callback("glInvalidateFramebuffer", (void *)glInvalidateFramebuffer, 3, arg0, arg1, arg2); +} +PFNGLINVALIDATEFRAMEBUFFERPROC glad_debug_glInvalidateFramebuffer = glad_debug_impl_glInvalidateFramebuffer; +PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer; +void APIENTRY glad_debug_impl_glInvalidateSubFramebuffer(GLenum arg0, GLsizei arg1, const GLenum *arg2, GLint arg3, + GLint arg4, GLsizei arg5, GLsizei arg6) { + _pre_call_callback("glInvalidateSubFramebuffer", (void *)glInvalidateSubFramebuffer, 7, arg0, arg1, arg2, arg3, + arg4, arg5, arg6); + glad_glInvalidateSubFramebuffer(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glInvalidateSubFramebuffer", (void *)glInvalidateSubFramebuffer, 7, arg0, arg1, arg2, arg3, + arg4, arg5, arg6); +} +PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_debug_glInvalidateSubFramebuffer = glad_debug_impl_glInvalidateSubFramebuffer; +PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage; +void APIENTRY glad_debug_impl_glInvalidateTexImage(GLuint arg0, GLint arg1) { + _pre_call_callback("glInvalidateTexImage", (void *)glInvalidateTexImage, 2, arg0, arg1); + glad_glInvalidateTexImage(arg0, arg1); + _post_call_callback("glInvalidateTexImage", (void *)glInvalidateTexImage, 2, arg0, arg1); +} +PFNGLINVALIDATETEXIMAGEPROC glad_debug_glInvalidateTexImage = glad_debug_impl_glInvalidateTexImage; +PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage; +void APIENTRY glad_debug_impl_glInvalidateTexSubImage(GLuint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, + GLsizei arg5, GLsizei arg6, GLsizei arg7) { + _pre_call_callback("glInvalidateTexSubImage", (void *)glInvalidateTexSubImage, 8, arg0, arg1, arg2, arg3, arg4, + arg5, arg6, arg7); + glad_glInvalidateTexSubImage(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glInvalidateTexSubImage", (void *)glInvalidateTexSubImage, 8, arg0, arg1, arg2, arg3, arg4, + arg5, arg6, arg7); +} +PFNGLINVALIDATETEXSUBIMAGEPROC glad_debug_glInvalidateTexSubImage = glad_debug_impl_glInvalidateTexSubImage; +PFNGLISBUFFERPROC glad_glIsBuffer; +GLboolean APIENTRY glad_debug_impl_glIsBuffer(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsBuffer", (void *)glIsBuffer, 1, arg0); + ret = glad_glIsBuffer(arg0); + _post_call_callback("glIsBuffer", (void *)glIsBuffer, 1, arg0); + return ret; +} +PFNGLISBUFFERPROC glad_debug_glIsBuffer = glad_debug_impl_glIsBuffer; +PFNGLISENABLEDPROC glad_glIsEnabled; +GLboolean APIENTRY glad_debug_impl_glIsEnabled(GLenum arg0) { + GLboolean ret; + _pre_call_callback("glIsEnabled", (void *)glIsEnabled, 1, arg0); + ret = glad_glIsEnabled(arg0); + _post_call_callback("glIsEnabled", (void *)glIsEnabled, 1, arg0); + return ret; +} +PFNGLISENABLEDPROC glad_debug_glIsEnabled = glad_debug_impl_glIsEnabled; +PFNGLISENABLEDIPROC glad_glIsEnabledi; +GLboolean APIENTRY glad_debug_impl_glIsEnabledi(GLenum arg0, GLuint arg1) { + GLboolean ret; + _pre_call_callback("glIsEnabledi", (void *)glIsEnabledi, 2, arg0, arg1); + ret = glad_glIsEnabledi(arg0, arg1); + _post_call_callback("glIsEnabledi", (void *)glIsEnabledi, 2, arg0, arg1); + return ret; +} +PFNGLISENABLEDIPROC glad_debug_glIsEnabledi = glad_debug_impl_glIsEnabledi; +PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +GLboolean APIENTRY glad_debug_impl_glIsFramebuffer(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsFramebuffer", (void *)glIsFramebuffer, 1, arg0); + ret = glad_glIsFramebuffer(arg0); + _post_call_callback("glIsFramebuffer", (void *)glIsFramebuffer, 1, arg0); + return ret; +} +PFNGLISFRAMEBUFFERPROC glad_debug_glIsFramebuffer = glad_debug_impl_glIsFramebuffer; +PFNGLISPROGRAMPROC glad_glIsProgram; +GLboolean APIENTRY glad_debug_impl_glIsProgram(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsProgram", (void *)glIsProgram, 1, arg0); + ret = glad_glIsProgram(arg0); + _post_call_callback("glIsProgram", (void *)glIsProgram, 1, arg0); + return ret; +} +PFNGLISPROGRAMPROC glad_debug_glIsProgram = glad_debug_impl_glIsProgram; +PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline; +GLboolean APIENTRY glad_debug_impl_glIsProgramPipeline(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsProgramPipeline", (void *)glIsProgramPipeline, 1, arg0); + ret = glad_glIsProgramPipeline(arg0); + _post_call_callback("glIsProgramPipeline", (void *)glIsProgramPipeline, 1, arg0); + return ret; +} +PFNGLISPROGRAMPIPELINEPROC glad_debug_glIsProgramPipeline = glad_debug_impl_glIsProgramPipeline; +PFNGLISQUERYPROC glad_glIsQuery; +GLboolean APIENTRY glad_debug_impl_glIsQuery(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsQuery", (void *)glIsQuery, 1, arg0); + ret = glad_glIsQuery(arg0); + _post_call_callback("glIsQuery", (void *)glIsQuery, 1, arg0); + return ret; +} +PFNGLISQUERYPROC glad_debug_glIsQuery = glad_debug_impl_glIsQuery; +PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +GLboolean APIENTRY glad_debug_impl_glIsRenderbuffer(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsRenderbuffer", (void *)glIsRenderbuffer, 1, arg0); + ret = glad_glIsRenderbuffer(arg0); + _post_call_callback("glIsRenderbuffer", (void *)glIsRenderbuffer, 1, arg0); + return ret; +} +PFNGLISRENDERBUFFERPROC glad_debug_glIsRenderbuffer = glad_debug_impl_glIsRenderbuffer; +PFNGLISSAMPLERPROC glad_glIsSampler; +GLboolean APIENTRY glad_debug_impl_glIsSampler(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsSampler", (void *)glIsSampler, 1, arg0); + ret = glad_glIsSampler(arg0); + _post_call_callback("glIsSampler", (void *)glIsSampler, 1, arg0); + return ret; +} +PFNGLISSAMPLERPROC glad_debug_glIsSampler = glad_debug_impl_glIsSampler; +PFNGLISSHADERPROC glad_glIsShader; +GLboolean APIENTRY glad_debug_impl_glIsShader(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsShader", (void *)glIsShader, 1, arg0); + ret = glad_glIsShader(arg0); + _post_call_callback("glIsShader", (void *)glIsShader, 1, arg0); + return ret; +} +PFNGLISSHADERPROC glad_debug_glIsShader = glad_debug_impl_glIsShader; +PFNGLISSYNCPROC glad_glIsSync; +GLboolean APIENTRY glad_debug_impl_glIsSync(GLsync arg0) { + GLboolean ret; + _pre_call_callback("glIsSync", (void *)glIsSync, 1, arg0); + ret = glad_glIsSync(arg0); + _post_call_callback("glIsSync", (void *)glIsSync, 1, arg0); + return ret; +} +PFNGLISSYNCPROC glad_debug_glIsSync = glad_debug_impl_glIsSync; +PFNGLISTEXTUREPROC glad_glIsTexture; +GLboolean APIENTRY glad_debug_impl_glIsTexture(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsTexture", (void *)glIsTexture, 1, arg0); + ret = glad_glIsTexture(arg0); + _post_call_callback("glIsTexture", (void *)glIsTexture, 1, arg0); + return ret; +} +PFNGLISTEXTUREPROC glad_debug_glIsTexture = glad_debug_impl_glIsTexture; +PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback; +GLboolean APIENTRY glad_debug_impl_glIsTransformFeedback(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsTransformFeedback", (void *)glIsTransformFeedback, 1, arg0); + ret = glad_glIsTransformFeedback(arg0); + _post_call_callback("glIsTransformFeedback", (void *)glIsTransformFeedback, 1, arg0); + return ret; +} +PFNGLISTRANSFORMFEEDBACKPROC glad_debug_glIsTransformFeedback = glad_debug_impl_glIsTransformFeedback; +PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +GLboolean APIENTRY glad_debug_impl_glIsVertexArray(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsVertexArray", (void *)glIsVertexArray, 1, arg0); + ret = glad_glIsVertexArray(arg0); + _post_call_callback("glIsVertexArray", (void *)glIsVertexArray, 1, arg0); + return ret; +} +PFNGLISVERTEXARRAYPROC glad_debug_glIsVertexArray = glad_debug_impl_glIsVertexArray; +PFNGLLINEWIDTHPROC glad_glLineWidth; +void APIENTRY glad_debug_impl_glLineWidth(GLfloat arg0) { + _pre_call_callback("glLineWidth", (void *)glLineWidth, 1, arg0); + glad_glLineWidth(arg0); + _post_call_callback("glLineWidth", (void *)glLineWidth, 1, arg0); +} +PFNGLLINEWIDTHPROC glad_debug_glLineWidth = glad_debug_impl_glLineWidth; +PFNGLLINKPROGRAMPROC glad_glLinkProgram; +void APIENTRY glad_debug_impl_glLinkProgram(GLuint arg0) { + _pre_call_callback("glLinkProgram", (void *)glLinkProgram, 1, arg0); + glad_glLinkProgram(arg0); + _post_call_callback("glLinkProgram", (void *)glLinkProgram, 1, arg0); +} +PFNGLLINKPROGRAMPROC glad_debug_glLinkProgram = glad_debug_impl_glLinkProgram; +PFNGLLOGICOPPROC glad_glLogicOp; +void APIENTRY glad_debug_impl_glLogicOp(GLenum arg0) { + _pre_call_callback("glLogicOp", (void *)glLogicOp, 1, arg0); + glad_glLogicOp(arg0); + _post_call_callback("glLogicOp", (void *)glLogicOp, 1, arg0); +} +PFNGLLOGICOPPROC glad_debug_glLogicOp = glad_debug_impl_glLogicOp; +PFNGLMAPBUFFERPROC glad_glMapBuffer; +void *APIENTRY glad_debug_impl_glMapBuffer(GLenum arg0, GLenum arg1) { + void *ret; + _pre_call_callback("glMapBuffer", (void *)glMapBuffer, 2, arg0, arg1); + ret = glad_glMapBuffer(arg0, arg1); + _post_call_callback("glMapBuffer", (void *)glMapBuffer, 2, arg0, arg1); + return ret; +} +PFNGLMAPBUFFERPROC glad_debug_glMapBuffer = glad_debug_impl_glMapBuffer; +PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +void *APIENTRY glad_debug_impl_glMapBufferRange(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, GLbitfield arg3) { + void *ret; + _pre_call_callback("glMapBufferRange", (void *)glMapBufferRange, 4, arg0, arg1, arg2, arg3); + ret = glad_glMapBufferRange(arg0, arg1, arg2, arg3); + _post_call_callback("glMapBufferRange", (void *)glMapBufferRange, 4, arg0, arg1, arg2, arg3); + return ret; +} +PFNGLMAPBUFFERRANGEPROC glad_debug_glMapBufferRange = glad_debug_impl_glMapBufferRange; +PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier; +void APIENTRY glad_debug_impl_glMemoryBarrier(GLbitfield arg0) { + _pre_call_callback("glMemoryBarrier", (void *)glMemoryBarrier, 1, arg0); + glad_glMemoryBarrier(arg0); + _post_call_callback("glMemoryBarrier", (void *)glMemoryBarrier, 1, arg0); +} +PFNGLMEMORYBARRIERPROC glad_debug_glMemoryBarrier = glad_debug_impl_glMemoryBarrier; +PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading; +void APIENTRY glad_debug_impl_glMinSampleShading(GLfloat arg0) { + _pre_call_callback("glMinSampleShading", (void *)glMinSampleShading, 1, arg0); + glad_glMinSampleShading(arg0); + _post_call_callback("glMinSampleShading", (void *)glMinSampleShading, 1, arg0); +} +PFNGLMINSAMPLESHADINGPROC glad_debug_glMinSampleShading = glad_debug_impl_glMinSampleShading; +PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +void APIENTRY glad_debug_impl_glMultiDrawArrays(GLenum arg0, const GLint *arg1, const GLsizei *arg2, GLsizei arg3) { + _pre_call_callback("glMultiDrawArrays", (void *)glMultiDrawArrays, 4, arg0, arg1, arg2, arg3); + glad_glMultiDrawArrays(arg0, arg1, arg2, arg3); + _post_call_callback("glMultiDrawArrays", (void *)glMultiDrawArrays, 4, arg0, arg1, arg2, arg3); +} +PFNGLMULTIDRAWARRAYSPROC glad_debug_glMultiDrawArrays = glad_debug_impl_glMultiDrawArrays; +PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect; +void APIENTRY glad_debug_impl_glMultiDrawArraysIndirect(GLenum arg0, const void *arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glMultiDrawArraysIndirect", (void *)glMultiDrawArraysIndirect, 4, arg0, arg1, arg2, arg3); + glad_glMultiDrawArraysIndirect(arg0, arg1, arg2, arg3); + _post_call_callback("glMultiDrawArraysIndirect", (void *)glMultiDrawArraysIndirect, 4, arg0, arg1, arg2, arg3); +} +PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_debug_glMultiDrawArraysIndirect = glad_debug_impl_glMultiDrawArraysIndirect; +PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +void APIENTRY glad_debug_impl_glMultiDrawElements(GLenum arg0, const GLsizei *arg1, GLenum arg2, + const void *const *arg3, GLsizei arg4) { + _pre_call_callback("glMultiDrawElements", (void *)glMultiDrawElements, 5, arg0, arg1, arg2, arg3, arg4); + glad_glMultiDrawElements(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glMultiDrawElements", (void *)glMultiDrawElements, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLMULTIDRAWELEMENTSPROC glad_debug_glMultiDrawElements = glad_debug_impl_glMultiDrawElements; +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +void APIENTRY glad_debug_impl_glMultiDrawElementsBaseVertex(GLenum arg0, const GLsizei *arg1, GLenum arg2, + const void *const *arg3, GLsizei arg4, const GLint *arg5) { + _pre_call_callback("glMultiDrawElementsBaseVertex", (void *)glMultiDrawElementsBaseVertex, 6, arg0, arg1, arg2, + arg3, arg4, arg5); + glad_glMultiDrawElementsBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glMultiDrawElementsBaseVertex", (void *)glMultiDrawElementsBaseVertex, 6, arg0, arg1, arg2, + arg3, arg4, arg5); +} +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_debug_glMultiDrawElementsBaseVertex = + glad_debug_impl_glMultiDrawElementsBaseVertex; +PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect; +void APIENTRY glad_debug_impl_glMultiDrawElementsIndirect(GLenum arg0, GLenum arg1, const void *arg2, GLsizei arg3, + GLsizei arg4) { + _pre_call_callback("glMultiDrawElementsIndirect", (void *)glMultiDrawElementsIndirect, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glMultiDrawElementsIndirect(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glMultiDrawElementsIndirect", (void *)glMultiDrawElementsIndirect, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_debug_glMultiDrawElementsIndirect = glad_debug_impl_glMultiDrawElementsIndirect; +PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP1ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP1ui", (void *)glMultiTexCoordP1ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP1ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP1ui", (void *)glMultiTexCoordP1ui, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP1UIPROC glad_debug_glMultiTexCoordP1ui = glad_debug_impl_glMultiTexCoordP1ui; +PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP1uiv(GLenum arg0, GLenum arg1, const GLuint *arg2) { + _pre_call_callback("glMultiTexCoordP1uiv", (void *)glMultiTexCoordP1uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP1uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP1uiv", (void *)glMultiTexCoordP1uiv, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP1UIVPROC glad_debug_glMultiTexCoordP1uiv = glad_debug_impl_glMultiTexCoordP1uiv; +PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP2ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP2ui", (void *)glMultiTexCoordP2ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP2ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP2ui", (void *)glMultiTexCoordP2ui, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP2UIPROC glad_debug_glMultiTexCoordP2ui = glad_debug_impl_glMultiTexCoordP2ui; +PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP2uiv(GLenum arg0, GLenum arg1, const GLuint *arg2) { + _pre_call_callback("glMultiTexCoordP2uiv", (void *)glMultiTexCoordP2uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP2uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP2uiv", (void *)glMultiTexCoordP2uiv, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP2UIVPROC glad_debug_glMultiTexCoordP2uiv = glad_debug_impl_glMultiTexCoordP2uiv; +PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP3ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP3ui", (void *)glMultiTexCoordP3ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP3ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP3ui", (void *)glMultiTexCoordP3ui, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP3UIPROC glad_debug_glMultiTexCoordP3ui = glad_debug_impl_glMultiTexCoordP3ui; +PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP3uiv(GLenum arg0, GLenum arg1, const GLuint *arg2) { + _pre_call_callback("glMultiTexCoordP3uiv", (void *)glMultiTexCoordP3uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP3uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP3uiv", (void *)glMultiTexCoordP3uiv, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP3UIVPROC glad_debug_glMultiTexCoordP3uiv = glad_debug_impl_glMultiTexCoordP3uiv; +PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP4ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP4ui", (void *)glMultiTexCoordP4ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP4ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP4ui", (void *)glMultiTexCoordP4ui, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP4UIPROC glad_debug_glMultiTexCoordP4ui = glad_debug_impl_glMultiTexCoordP4ui; +PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP4uiv(GLenum arg0, GLenum arg1, const GLuint *arg2) { + _pre_call_callback("glMultiTexCoordP4uiv", (void *)glMultiTexCoordP4uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP4uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP4uiv", (void *)glMultiTexCoordP4uiv, 3, arg0, arg1, arg2); +} +PFNGLMULTITEXCOORDP4UIVPROC glad_debug_glMultiTexCoordP4uiv = glad_debug_impl_glMultiTexCoordP4uiv; +PFNGLNORMALP3UIPROC glad_glNormalP3ui; +void APIENTRY glad_debug_impl_glNormalP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glNormalP3ui", (void *)glNormalP3ui, 2, arg0, arg1); + glad_glNormalP3ui(arg0, arg1); + _post_call_callback("glNormalP3ui", (void *)glNormalP3ui, 2, arg0, arg1); +} +PFNGLNORMALP3UIPROC glad_debug_glNormalP3ui = glad_debug_impl_glNormalP3ui; +PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +void APIENTRY glad_debug_impl_glNormalP3uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glNormalP3uiv", (void *)glNormalP3uiv, 2, arg0, arg1); + glad_glNormalP3uiv(arg0, arg1); + _post_call_callback("glNormalP3uiv", (void *)glNormalP3uiv, 2, arg0, arg1); +} +PFNGLNORMALP3UIVPROC glad_debug_glNormalP3uiv = glad_debug_impl_glNormalP3uiv; +PFNGLOBJECTLABELPROC glad_glObjectLabel; +void APIENTRY glad_debug_impl_glObjectLabel(GLenum arg0, GLuint arg1, GLsizei arg2, const GLchar *arg3) { + _pre_call_callback("glObjectLabel", (void *)glObjectLabel, 4, arg0, arg1, arg2, arg3); + glad_glObjectLabel(arg0, arg1, arg2, arg3); + _post_call_callback("glObjectLabel", (void *)glObjectLabel, 4, arg0, arg1, arg2, arg3); +} +PFNGLOBJECTLABELPROC glad_debug_glObjectLabel = glad_debug_impl_glObjectLabel; +PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel; +void APIENTRY glad_debug_impl_glObjectPtrLabel(const void *arg0, GLsizei arg1, const GLchar *arg2) { + _pre_call_callback("glObjectPtrLabel", (void *)glObjectPtrLabel, 3, arg0, arg1, arg2); + glad_glObjectPtrLabel(arg0, arg1, arg2); + _post_call_callback("glObjectPtrLabel", (void *)glObjectPtrLabel, 3, arg0, arg1, arg2); +} +PFNGLOBJECTPTRLABELPROC glad_debug_glObjectPtrLabel = glad_debug_impl_glObjectPtrLabel; +PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv; +void APIENTRY glad_debug_impl_glPatchParameterfv(GLenum arg0, const GLfloat *arg1) { + _pre_call_callback("glPatchParameterfv", (void *)glPatchParameterfv, 2, arg0, arg1); + glad_glPatchParameterfv(arg0, arg1); + _post_call_callback("glPatchParameterfv", (void *)glPatchParameterfv, 2, arg0, arg1); +} +PFNGLPATCHPARAMETERFVPROC glad_debug_glPatchParameterfv = glad_debug_impl_glPatchParameterfv; +PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri; +void APIENTRY glad_debug_impl_glPatchParameteri(GLenum arg0, GLint arg1) { + _pre_call_callback("glPatchParameteri", (void *)glPatchParameteri, 2, arg0, arg1); + glad_glPatchParameteri(arg0, arg1); + _post_call_callback("glPatchParameteri", (void *)glPatchParameteri, 2, arg0, arg1); +} +PFNGLPATCHPARAMETERIPROC glad_debug_glPatchParameteri = glad_debug_impl_glPatchParameteri; +PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback; +void APIENTRY glad_debug_impl_glPauseTransformFeedback(void) { + _pre_call_callback("glPauseTransformFeedback", (void *)glPauseTransformFeedback, 0); + glad_glPauseTransformFeedback(); + _post_call_callback("glPauseTransformFeedback", (void *)glPauseTransformFeedback, 0); +} +PFNGLPAUSETRANSFORMFEEDBACKPROC glad_debug_glPauseTransformFeedback = glad_debug_impl_glPauseTransformFeedback; +PFNGLPIXELSTOREFPROC glad_glPixelStoref; +void APIENTRY glad_debug_impl_glPixelStoref(GLenum arg0, GLfloat arg1) { + _pre_call_callback("glPixelStoref", (void *)glPixelStoref, 2, arg0, arg1); + glad_glPixelStoref(arg0, arg1); + _post_call_callback("glPixelStoref", (void *)glPixelStoref, 2, arg0, arg1); +} +PFNGLPIXELSTOREFPROC glad_debug_glPixelStoref = glad_debug_impl_glPixelStoref; +PFNGLPIXELSTOREIPROC glad_glPixelStorei; +void APIENTRY glad_debug_impl_glPixelStorei(GLenum arg0, GLint arg1) { + _pre_call_callback("glPixelStorei", (void *)glPixelStorei, 2, arg0, arg1); + glad_glPixelStorei(arg0, arg1); + _post_call_callback("glPixelStorei", (void *)glPixelStorei, 2, arg0, arg1); +} +PFNGLPIXELSTOREIPROC glad_debug_glPixelStorei = glad_debug_impl_glPixelStorei; +PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +void APIENTRY glad_debug_impl_glPointParameterf(GLenum arg0, GLfloat arg1) { + _pre_call_callback("glPointParameterf", (void *)glPointParameterf, 2, arg0, arg1); + glad_glPointParameterf(arg0, arg1); + _post_call_callback("glPointParameterf", (void *)glPointParameterf, 2, arg0, arg1); +} +PFNGLPOINTPARAMETERFPROC glad_debug_glPointParameterf = glad_debug_impl_glPointParameterf; +PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +void APIENTRY glad_debug_impl_glPointParameterfv(GLenum arg0, const GLfloat *arg1) { + _pre_call_callback("glPointParameterfv", (void *)glPointParameterfv, 2, arg0, arg1); + glad_glPointParameterfv(arg0, arg1); + _post_call_callback("glPointParameterfv", (void *)glPointParameterfv, 2, arg0, arg1); +} +PFNGLPOINTPARAMETERFVPROC glad_debug_glPointParameterfv = glad_debug_impl_glPointParameterfv; +PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +void APIENTRY glad_debug_impl_glPointParameteri(GLenum arg0, GLint arg1) { + _pre_call_callback("glPointParameteri", (void *)glPointParameteri, 2, arg0, arg1); + glad_glPointParameteri(arg0, arg1); + _post_call_callback("glPointParameteri", (void *)glPointParameteri, 2, arg0, arg1); +} +PFNGLPOINTPARAMETERIPROC glad_debug_glPointParameteri = glad_debug_impl_glPointParameteri; +PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +void APIENTRY glad_debug_impl_glPointParameteriv(GLenum arg0, const GLint *arg1) { + _pre_call_callback("glPointParameteriv", (void *)glPointParameteriv, 2, arg0, arg1); + glad_glPointParameteriv(arg0, arg1); + _post_call_callback("glPointParameteriv", (void *)glPointParameteriv, 2, arg0, arg1); +} +PFNGLPOINTPARAMETERIVPROC glad_debug_glPointParameteriv = glad_debug_impl_glPointParameteriv; +PFNGLPOINTSIZEPROC glad_glPointSize; +void APIENTRY glad_debug_impl_glPointSize(GLfloat arg0) { + _pre_call_callback("glPointSize", (void *)glPointSize, 1, arg0); + glad_glPointSize(arg0); + _post_call_callback("glPointSize", (void *)glPointSize, 1, arg0); +} +PFNGLPOINTSIZEPROC glad_debug_glPointSize = glad_debug_impl_glPointSize; +PFNGLPOLYGONMODEPROC glad_glPolygonMode; +void APIENTRY glad_debug_impl_glPolygonMode(GLenum arg0, GLenum arg1) { + _pre_call_callback("glPolygonMode", (void *)glPolygonMode, 2, arg0, arg1); + glad_glPolygonMode(arg0, arg1); + _post_call_callback("glPolygonMode", (void *)glPolygonMode, 2, arg0, arg1); +} +PFNGLPOLYGONMODEPROC glad_debug_glPolygonMode = glad_debug_impl_glPolygonMode; +PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +void APIENTRY glad_debug_impl_glPolygonOffset(GLfloat arg0, GLfloat arg1) { + _pre_call_callback("glPolygonOffset", (void *)glPolygonOffset, 2, arg0, arg1); + glad_glPolygonOffset(arg0, arg1); + _post_call_callback("glPolygonOffset", (void *)glPolygonOffset, 2, arg0, arg1); +} +PFNGLPOLYGONOFFSETPROC glad_debug_glPolygonOffset = glad_debug_impl_glPolygonOffset; +PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup; +void APIENTRY glad_debug_impl_glPopDebugGroup(void) { + _pre_call_callback("glPopDebugGroup", (void *)glPopDebugGroup, 0); + glad_glPopDebugGroup(); + _post_call_callback("glPopDebugGroup", (void *)glPopDebugGroup, 0); +} +PFNGLPOPDEBUGGROUPPROC glad_debug_glPopDebugGroup = glad_debug_impl_glPopDebugGroup; +PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +void APIENTRY glad_debug_impl_glPrimitiveRestartIndex(GLuint arg0) { + _pre_call_callback("glPrimitiveRestartIndex", (void *)glPrimitiveRestartIndex, 1, arg0); + glad_glPrimitiveRestartIndex(arg0); + _post_call_callback("glPrimitiveRestartIndex", (void *)glPrimitiveRestartIndex, 1, arg0); +} +PFNGLPRIMITIVERESTARTINDEXPROC glad_debug_glPrimitiveRestartIndex = glad_debug_impl_glPrimitiveRestartIndex; +PFNGLPROGRAMBINARYPROC glad_glProgramBinary; +void APIENTRY glad_debug_impl_glProgramBinary(GLuint arg0, GLenum arg1, const void *arg2, GLsizei arg3) { + _pre_call_callback("glProgramBinary", (void *)glProgramBinary, 4, arg0, arg1, arg2, arg3); + glad_glProgramBinary(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramBinary", (void *)glProgramBinary, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMBINARYPROC glad_debug_glProgramBinary = glad_debug_impl_glProgramBinary; +PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri; +void APIENTRY glad_debug_impl_glProgramParameteri(GLuint arg0, GLenum arg1, GLint arg2) { + _pre_call_callback("glProgramParameteri", (void *)glProgramParameteri, 3, arg0, arg1, arg2); + glad_glProgramParameteri(arg0, arg1, arg2); + _post_call_callback("glProgramParameteri", (void *)glProgramParameteri, 3, arg0, arg1, arg2); +} +PFNGLPROGRAMPARAMETERIPROC glad_debug_glProgramParameteri = glad_debug_impl_glProgramParameteri; +PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d; +void APIENTRY glad_debug_impl_glProgramUniform1d(GLuint arg0, GLint arg1, GLdouble arg2) { + _pre_call_callback("glProgramUniform1d", (void *)glProgramUniform1d, 3, arg0, arg1, arg2); + glad_glProgramUniform1d(arg0, arg1, arg2); + _post_call_callback("glProgramUniform1d", (void *)glProgramUniform1d, 3, arg0, arg1, arg2); +} +PFNGLPROGRAMUNIFORM1DPROC glad_debug_glProgramUniform1d = glad_debug_impl_glProgramUniform1d; +PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv; +void APIENTRY glad_debug_impl_glProgramUniform1dv(GLuint arg0, GLint arg1, GLsizei arg2, const GLdouble *arg3) { + _pre_call_callback("glProgramUniform1dv", (void *)glProgramUniform1dv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform1dv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform1dv", (void *)glProgramUniform1dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM1DVPROC glad_debug_glProgramUniform1dv = glad_debug_impl_glProgramUniform1dv; +PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f; +void APIENTRY glad_debug_impl_glProgramUniform1f(GLuint arg0, GLint arg1, GLfloat arg2) { + _pre_call_callback("glProgramUniform1f", (void *)glProgramUniform1f, 3, arg0, arg1, arg2); + glad_glProgramUniform1f(arg0, arg1, arg2); + _post_call_callback("glProgramUniform1f", (void *)glProgramUniform1f, 3, arg0, arg1, arg2); +} +PFNGLPROGRAMUNIFORM1FPROC glad_debug_glProgramUniform1f = glad_debug_impl_glProgramUniform1f; +PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv; +void APIENTRY glad_debug_impl_glProgramUniform1fv(GLuint arg0, GLint arg1, GLsizei arg2, const GLfloat *arg3) { + _pre_call_callback("glProgramUniform1fv", (void *)glProgramUniform1fv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform1fv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform1fv", (void *)glProgramUniform1fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM1FVPROC glad_debug_glProgramUniform1fv = glad_debug_impl_glProgramUniform1fv; +PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i; +void APIENTRY glad_debug_impl_glProgramUniform1i(GLuint arg0, GLint arg1, GLint arg2) { + _pre_call_callback("glProgramUniform1i", (void *)glProgramUniform1i, 3, arg0, arg1, arg2); + glad_glProgramUniform1i(arg0, arg1, arg2); + _post_call_callback("glProgramUniform1i", (void *)glProgramUniform1i, 3, arg0, arg1, arg2); +} +PFNGLPROGRAMUNIFORM1IPROC glad_debug_glProgramUniform1i = glad_debug_impl_glProgramUniform1i; +PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv; +void APIENTRY glad_debug_impl_glProgramUniform1iv(GLuint arg0, GLint arg1, GLsizei arg2, const GLint *arg3) { + _pre_call_callback("glProgramUniform1iv", (void *)glProgramUniform1iv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform1iv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform1iv", (void *)glProgramUniform1iv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM1IVPROC glad_debug_glProgramUniform1iv = glad_debug_impl_glProgramUniform1iv; +PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui; +void APIENTRY glad_debug_impl_glProgramUniform1ui(GLuint arg0, GLint arg1, GLuint arg2) { + _pre_call_callback("glProgramUniform1ui", (void *)glProgramUniform1ui, 3, arg0, arg1, arg2); + glad_glProgramUniform1ui(arg0, arg1, arg2); + _post_call_callback("glProgramUniform1ui", (void *)glProgramUniform1ui, 3, arg0, arg1, arg2); +} +PFNGLPROGRAMUNIFORM1UIPROC glad_debug_glProgramUniform1ui = glad_debug_impl_glProgramUniform1ui; +PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv; +void APIENTRY glad_debug_impl_glProgramUniform1uiv(GLuint arg0, GLint arg1, GLsizei arg2, const GLuint *arg3) { + _pre_call_callback("glProgramUniform1uiv", (void *)glProgramUniform1uiv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform1uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform1uiv", (void *)glProgramUniform1uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM1UIVPROC glad_debug_glProgramUniform1uiv = glad_debug_impl_glProgramUniform1uiv; +PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d; +void APIENTRY glad_debug_impl_glProgramUniform2d(GLuint arg0, GLint arg1, GLdouble arg2, GLdouble arg3) { + _pre_call_callback("glProgramUniform2d", (void *)glProgramUniform2d, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2d(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2d", (void *)glProgramUniform2d, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2DPROC glad_debug_glProgramUniform2d = glad_debug_impl_glProgramUniform2d; +PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv; +void APIENTRY glad_debug_impl_glProgramUniform2dv(GLuint arg0, GLint arg1, GLsizei arg2, const GLdouble *arg3) { + _pre_call_callback("glProgramUniform2dv", (void *)glProgramUniform2dv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2dv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2dv", (void *)glProgramUniform2dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2DVPROC glad_debug_glProgramUniform2dv = glad_debug_impl_glProgramUniform2dv; +PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f; +void APIENTRY glad_debug_impl_glProgramUniform2f(GLuint arg0, GLint arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glProgramUniform2f", (void *)glProgramUniform2f, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2f(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2f", (void *)glProgramUniform2f, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2FPROC glad_debug_glProgramUniform2f = glad_debug_impl_glProgramUniform2f; +PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv; +void APIENTRY glad_debug_impl_glProgramUniform2fv(GLuint arg0, GLint arg1, GLsizei arg2, const GLfloat *arg3) { + _pre_call_callback("glProgramUniform2fv", (void *)glProgramUniform2fv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2fv", (void *)glProgramUniform2fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2FVPROC glad_debug_glProgramUniform2fv = glad_debug_impl_glProgramUniform2fv; +PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i; +void APIENTRY glad_debug_impl_glProgramUniform2i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3) { + _pre_call_callback("glProgramUniform2i", (void *)glProgramUniform2i, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2i(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2i", (void *)glProgramUniform2i, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2IPROC glad_debug_glProgramUniform2i = glad_debug_impl_glProgramUniform2i; +PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv; +void APIENTRY glad_debug_impl_glProgramUniform2iv(GLuint arg0, GLint arg1, GLsizei arg2, const GLint *arg3) { + _pre_call_callback("glProgramUniform2iv", (void *)glProgramUniform2iv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2iv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2iv", (void *)glProgramUniform2iv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2IVPROC glad_debug_glProgramUniform2iv = glad_debug_impl_glProgramUniform2iv; +PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui; +void APIENTRY glad_debug_impl_glProgramUniform2ui(GLuint arg0, GLint arg1, GLuint arg2, GLuint arg3) { + _pre_call_callback("glProgramUniform2ui", (void *)glProgramUniform2ui, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2ui(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2ui", (void *)glProgramUniform2ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2UIPROC glad_debug_glProgramUniform2ui = glad_debug_impl_glProgramUniform2ui; +PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv; +void APIENTRY glad_debug_impl_glProgramUniform2uiv(GLuint arg0, GLint arg1, GLsizei arg2, const GLuint *arg3) { + _pre_call_callback("glProgramUniform2uiv", (void *)glProgramUniform2uiv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform2uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform2uiv", (void *)glProgramUniform2uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM2UIVPROC glad_debug_glProgramUniform2uiv = glad_debug_impl_glProgramUniform2uiv; +PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d; +void APIENTRY glad_debug_impl_glProgramUniform3d(GLuint arg0, GLint arg1, GLdouble arg2, GLdouble arg3, GLdouble arg4) { + _pre_call_callback("glProgramUniform3d", (void *)glProgramUniform3d, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniform3d(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniform3d", (void *)glProgramUniform3d, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLPROGRAMUNIFORM3DPROC glad_debug_glProgramUniform3d = glad_debug_impl_glProgramUniform3d; +PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv; +void APIENTRY glad_debug_impl_glProgramUniform3dv(GLuint arg0, GLint arg1, GLsizei arg2, const GLdouble *arg3) { + _pre_call_callback("glProgramUniform3dv", (void *)glProgramUniform3dv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform3dv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform3dv", (void *)glProgramUniform3dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM3DVPROC glad_debug_glProgramUniform3dv = glad_debug_impl_glProgramUniform3dv; +PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f; +void APIENTRY glad_debug_impl_glProgramUniform3f(GLuint arg0, GLint arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + _pre_call_callback("glProgramUniform3f", (void *)glProgramUniform3f, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniform3f(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniform3f", (void *)glProgramUniform3f, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLPROGRAMUNIFORM3FPROC glad_debug_glProgramUniform3f = glad_debug_impl_glProgramUniform3f; +PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv; +void APIENTRY glad_debug_impl_glProgramUniform3fv(GLuint arg0, GLint arg1, GLsizei arg2, const GLfloat *arg3) { + _pre_call_callback("glProgramUniform3fv", (void *)glProgramUniform3fv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform3fv", (void *)glProgramUniform3fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM3FVPROC glad_debug_glProgramUniform3fv = glad_debug_impl_glProgramUniform3fv; +PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i; +void APIENTRY glad_debug_impl_glProgramUniform3i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glProgramUniform3i", (void *)glProgramUniform3i, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniform3i(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniform3i", (void *)glProgramUniform3i, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLPROGRAMUNIFORM3IPROC glad_debug_glProgramUniform3i = glad_debug_impl_glProgramUniform3i; +PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv; +void APIENTRY glad_debug_impl_glProgramUniform3iv(GLuint arg0, GLint arg1, GLsizei arg2, const GLint *arg3) { + _pre_call_callback("glProgramUniform3iv", (void *)glProgramUniform3iv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform3iv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform3iv", (void *)glProgramUniform3iv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM3IVPROC glad_debug_glProgramUniform3iv = glad_debug_impl_glProgramUniform3iv; +PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui; +void APIENTRY glad_debug_impl_glProgramUniform3ui(GLuint arg0, GLint arg1, GLuint arg2, GLuint arg3, GLuint arg4) { + _pre_call_callback("glProgramUniform3ui", (void *)glProgramUniform3ui, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniform3ui(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniform3ui", (void *)glProgramUniform3ui, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLPROGRAMUNIFORM3UIPROC glad_debug_glProgramUniform3ui = glad_debug_impl_glProgramUniform3ui; +PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv; +void APIENTRY glad_debug_impl_glProgramUniform3uiv(GLuint arg0, GLint arg1, GLsizei arg2, const GLuint *arg3) { + _pre_call_callback("glProgramUniform3uiv", (void *)glProgramUniform3uiv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform3uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform3uiv", (void *)glProgramUniform3uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM3UIVPROC glad_debug_glProgramUniform3uiv = glad_debug_impl_glProgramUniform3uiv; +PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d; +void APIENTRY glad_debug_impl_glProgramUniform4d(GLuint arg0, GLint arg1, GLdouble arg2, GLdouble arg3, GLdouble arg4, + GLdouble arg5) { + _pre_call_callback("glProgramUniform4d", (void *)glProgramUniform4d, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glProgramUniform4d(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glProgramUniform4d", (void *)glProgramUniform4d, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLPROGRAMUNIFORM4DPROC glad_debug_glProgramUniform4d = glad_debug_impl_glProgramUniform4d; +PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv; +void APIENTRY glad_debug_impl_glProgramUniform4dv(GLuint arg0, GLint arg1, GLsizei arg2, const GLdouble *arg3) { + _pre_call_callback("glProgramUniform4dv", (void *)glProgramUniform4dv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform4dv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform4dv", (void *)glProgramUniform4dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM4DVPROC glad_debug_glProgramUniform4dv = glad_debug_impl_glProgramUniform4dv; +PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f; +void APIENTRY glad_debug_impl_glProgramUniform4f(GLuint arg0, GLint arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4, + GLfloat arg5) { + _pre_call_callback("glProgramUniform4f", (void *)glProgramUniform4f, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glProgramUniform4f(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glProgramUniform4f", (void *)glProgramUniform4f, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLPROGRAMUNIFORM4FPROC glad_debug_glProgramUniform4f = glad_debug_impl_glProgramUniform4f; +PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv; +void APIENTRY glad_debug_impl_glProgramUniform4fv(GLuint arg0, GLint arg1, GLsizei arg2, const GLfloat *arg3) { + _pre_call_callback("glProgramUniform4fv", (void *)glProgramUniform4fv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform4fv", (void *)glProgramUniform4fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM4FVPROC glad_debug_glProgramUniform4fv = glad_debug_impl_glProgramUniform4fv; +PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i; +void APIENTRY glad_debug_impl_glProgramUniform4i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, + GLint arg5) { + _pre_call_callback("glProgramUniform4i", (void *)glProgramUniform4i, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glProgramUniform4i(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glProgramUniform4i", (void *)glProgramUniform4i, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLPROGRAMUNIFORM4IPROC glad_debug_glProgramUniform4i = glad_debug_impl_glProgramUniform4i; +PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv; +void APIENTRY glad_debug_impl_glProgramUniform4iv(GLuint arg0, GLint arg1, GLsizei arg2, const GLint *arg3) { + _pre_call_callback("glProgramUniform4iv", (void *)glProgramUniform4iv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform4iv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform4iv", (void *)glProgramUniform4iv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM4IVPROC glad_debug_glProgramUniform4iv = glad_debug_impl_glProgramUniform4iv; +PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui; +void APIENTRY glad_debug_impl_glProgramUniform4ui(GLuint arg0, GLint arg1, GLuint arg2, GLuint arg3, GLuint arg4, + GLuint arg5) { + _pre_call_callback("glProgramUniform4ui", (void *)glProgramUniform4ui, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glProgramUniform4ui(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glProgramUniform4ui", (void *)glProgramUniform4ui, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLPROGRAMUNIFORM4UIPROC glad_debug_glProgramUniform4ui = glad_debug_impl_glProgramUniform4ui; +PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv; +void APIENTRY glad_debug_impl_glProgramUniform4uiv(GLuint arg0, GLint arg1, GLsizei arg2, const GLuint *arg3) { + _pre_call_callback("glProgramUniform4uiv", (void *)glProgramUniform4uiv, 4, arg0, arg1, arg2, arg3); + glad_glProgramUniform4uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glProgramUniform4uiv", (void *)glProgramUniform4uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLPROGRAMUNIFORM4UIVPROC glad_debug_glProgramUniform4uiv = glad_debug_impl_glProgramUniform4uiv; +PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix2dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix2dv", (void *)glProgramUniformMatrix2dv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniformMatrix2dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix2dv", (void *)glProgramUniformMatrix2dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_debug_glProgramUniformMatrix2dv = glad_debug_impl_glProgramUniformMatrix2dv; +PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix2fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix2fv", (void *)glProgramUniformMatrix2fv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniformMatrix2fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix2fv", (void *)glProgramUniformMatrix2fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_debug_glProgramUniformMatrix2fv = glad_debug_impl_glProgramUniformMatrix2fv; +PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix2x3dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix2x3dv", (void *)glProgramUniformMatrix2x3dv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix2x3dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix2x3dv", (void *)glProgramUniformMatrix2x3dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_debug_glProgramUniformMatrix2x3dv = glad_debug_impl_glProgramUniformMatrix2x3dv; +PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix2x3fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix2x3fv", (void *)glProgramUniformMatrix2x3fv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix2x3fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix2x3fv", (void *)glProgramUniformMatrix2x3fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_debug_glProgramUniformMatrix2x3fv = glad_debug_impl_glProgramUniformMatrix2x3fv; +PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix2x4dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix2x4dv", (void *)glProgramUniformMatrix2x4dv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix2x4dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix2x4dv", (void *)glProgramUniformMatrix2x4dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_debug_glProgramUniformMatrix2x4dv = glad_debug_impl_glProgramUniformMatrix2x4dv; +PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix2x4fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix2x4fv", (void *)glProgramUniformMatrix2x4fv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix2x4fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix2x4fv", (void *)glProgramUniformMatrix2x4fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_debug_glProgramUniformMatrix2x4fv = glad_debug_impl_glProgramUniformMatrix2x4fv; +PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix3dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix3dv", (void *)glProgramUniformMatrix3dv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniformMatrix3dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix3dv", (void *)glProgramUniformMatrix3dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_debug_glProgramUniformMatrix3dv = glad_debug_impl_glProgramUniformMatrix3dv; +PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix3fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix3fv", (void *)glProgramUniformMatrix3fv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniformMatrix3fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix3fv", (void *)glProgramUniformMatrix3fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_debug_glProgramUniformMatrix3fv = glad_debug_impl_glProgramUniformMatrix3fv; +PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix3x2dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix3x2dv", (void *)glProgramUniformMatrix3x2dv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix3x2dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix3x2dv", (void *)glProgramUniformMatrix3x2dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_debug_glProgramUniformMatrix3x2dv = glad_debug_impl_glProgramUniformMatrix3x2dv; +PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix3x2fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix3x2fv", (void *)glProgramUniformMatrix3x2fv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix3x2fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix3x2fv", (void *)glProgramUniformMatrix3x2fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_debug_glProgramUniformMatrix3x2fv = glad_debug_impl_glProgramUniformMatrix3x2fv; +PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix3x4dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix3x4dv", (void *)glProgramUniformMatrix3x4dv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix3x4dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix3x4dv", (void *)glProgramUniformMatrix3x4dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_debug_glProgramUniformMatrix3x4dv = glad_debug_impl_glProgramUniformMatrix3x4dv; +PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix3x4fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix3x4fv", (void *)glProgramUniformMatrix3x4fv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix3x4fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix3x4fv", (void *)glProgramUniformMatrix3x4fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_debug_glProgramUniformMatrix3x4fv = glad_debug_impl_glProgramUniformMatrix3x4fv; +PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix4dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix4dv", (void *)glProgramUniformMatrix4dv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniformMatrix4dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix4dv", (void *)glProgramUniformMatrix4dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_debug_glProgramUniformMatrix4dv = glad_debug_impl_glProgramUniformMatrix4dv; +PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix4fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix4fv", (void *)glProgramUniformMatrix4fv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glProgramUniformMatrix4fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix4fv", (void *)glProgramUniformMatrix4fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_debug_glProgramUniformMatrix4fv = glad_debug_impl_glProgramUniformMatrix4fv; +PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix4x2dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix4x2dv", (void *)glProgramUniformMatrix4x2dv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix4x2dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix4x2dv", (void *)glProgramUniformMatrix4x2dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_debug_glProgramUniformMatrix4x2dv = glad_debug_impl_glProgramUniformMatrix4x2dv; +PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix4x2fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix4x2fv", (void *)glProgramUniformMatrix4x2fv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix4x2fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix4x2fv", (void *)glProgramUniformMatrix4x2fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_debug_glProgramUniformMatrix4x2fv = glad_debug_impl_glProgramUniformMatrix4x2fv; +PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix4x3dv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLdouble *arg4) { + _pre_call_callback("glProgramUniformMatrix4x3dv", (void *)glProgramUniformMatrix4x3dv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix4x3dv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix4x3dv", (void *)glProgramUniformMatrix4x3dv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_debug_glProgramUniformMatrix4x3dv = glad_debug_impl_glProgramUniformMatrix4x3dv; +PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv; +void APIENTRY glad_debug_impl_glProgramUniformMatrix4x3fv(GLuint arg0, GLint arg1, GLsizei arg2, GLboolean arg3, + const GLfloat *arg4) { + _pre_call_callback("glProgramUniformMatrix4x3fv", (void *)glProgramUniformMatrix4x3fv, 5, arg0, arg1, arg2, arg3, + arg4); + glad_glProgramUniformMatrix4x3fv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glProgramUniformMatrix4x3fv", (void *)glProgramUniformMatrix4x3fv, 5, arg0, arg1, arg2, arg3, + arg4); +} +PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_debug_glProgramUniformMatrix4x3fv = glad_debug_impl_glProgramUniformMatrix4x3fv; +PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +void APIENTRY glad_debug_impl_glProvokingVertex(GLenum arg0) { + _pre_call_callback("glProvokingVertex", (void *)glProvokingVertex, 1, arg0); + glad_glProvokingVertex(arg0); + _post_call_callback("glProvokingVertex", (void *)glProvokingVertex, 1, arg0); +} +PFNGLPROVOKINGVERTEXPROC glad_debug_glProvokingVertex = glad_debug_impl_glProvokingVertex; +PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup; +void APIENTRY glad_debug_impl_glPushDebugGroup(GLenum arg0, GLuint arg1, GLsizei arg2, const GLchar *arg3) { + _pre_call_callback("glPushDebugGroup", (void *)glPushDebugGroup, 4, arg0, arg1, arg2, arg3); + glad_glPushDebugGroup(arg0, arg1, arg2, arg3); + _post_call_callback("glPushDebugGroup", (void *)glPushDebugGroup, 4, arg0, arg1, arg2, arg3); +} +PFNGLPUSHDEBUGGROUPPROC glad_debug_glPushDebugGroup = glad_debug_impl_glPushDebugGroup; +PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +void APIENTRY glad_debug_impl_glQueryCounter(GLuint arg0, GLenum arg1) { + _pre_call_callback("glQueryCounter", (void *)glQueryCounter, 2, arg0, arg1); + glad_glQueryCounter(arg0, arg1); + _post_call_callback("glQueryCounter", (void *)glQueryCounter, 2, arg0, arg1); +} +PFNGLQUERYCOUNTERPROC glad_debug_glQueryCounter = glad_debug_impl_glQueryCounter; +PFNGLREADBUFFERPROC glad_glReadBuffer; +void APIENTRY glad_debug_impl_glReadBuffer(GLenum arg0) { + _pre_call_callback("glReadBuffer", (void *)glReadBuffer, 1, arg0); + glad_glReadBuffer(arg0); + _post_call_callback("glReadBuffer", (void *)glReadBuffer, 1, arg0); +} +PFNGLREADBUFFERPROC glad_debug_glReadBuffer = glad_debug_impl_glReadBuffer; +PFNGLREADPIXELSPROC glad_glReadPixels; +void APIENTRY glad_debug_impl_glReadPixels(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3, GLenum arg4, GLenum arg5, + void *arg6) { + _pre_call_callback("glReadPixels", (void *)glReadPixels, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glReadPixels(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glReadPixels", (void *)glReadPixels, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +PFNGLREADPIXELSPROC glad_debug_glReadPixels = glad_debug_impl_glReadPixels; +PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler; +void APIENTRY glad_debug_impl_glReleaseShaderCompiler(void) { + _pre_call_callback("glReleaseShaderCompiler", (void *)glReleaseShaderCompiler, 0); + glad_glReleaseShaderCompiler(); + _post_call_callback("glReleaseShaderCompiler", (void *)glReleaseShaderCompiler, 0); +} +PFNGLRELEASESHADERCOMPILERPROC glad_debug_glReleaseShaderCompiler = glad_debug_impl_glReleaseShaderCompiler; +PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +void APIENTRY glad_debug_impl_glRenderbufferStorage(GLenum arg0, GLenum arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glRenderbufferStorage", (void *)glRenderbufferStorage, 4, arg0, arg1, arg2, arg3); + glad_glRenderbufferStorage(arg0, arg1, arg2, arg3); + _post_call_callback("glRenderbufferStorage", (void *)glRenderbufferStorage, 4, arg0, arg1, arg2, arg3); +} +PFNGLRENDERBUFFERSTORAGEPROC glad_debug_glRenderbufferStorage = glad_debug_impl_glRenderbufferStorage; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +void APIENTRY glad_debug_impl_glRenderbufferStorageMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, + GLsizei arg4) { + _pre_call_callback("glRenderbufferStorageMultisample", (void *)glRenderbufferStorageMultisample, 5, arg0, arg1, + arg2, arg3, arg4); + glad_glRenderbufferStorageMultisample(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glRenderbufferStorageMultisample", (void *)glRenderbufferStorageMultisample, 5, arg0, arg1, + arg2, arg3, arg4); +} +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glRenderbufferStorageMultisample = + glad_debug_impl_glRenderbufferStorageMultisample; +PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback; +void APIENTRY glad_debug_impl_glResumeTransformFeedback(void) { + _pre_call_callback("glResumeTransformFeedback", (void *)glResumeTransformFeedback, 0); + glad_glResumeTransformFeedback(); + _post_call_callback("glResumeTransformFeedback", (void *)glResumeTransformFeedback, 0); +} +PFNGLRESUMETRANSFORMFEEDBACKPROC glad_debug_glResumeTransformFeedback = glad_debug_impl_glResumeTransformFeedback; +PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +void APIENTRY glad_debug_impl_glSampleCoverage(GLfloat arg0, GLboolean arg1) { + _pre_call_callback("glSampleCoverage", (void *)glSampleCoverage, 2, arg0, arg1); + glad_glSampleCoverage(arg0, arg1); + _post_call_callback("glSampleCoverage", (void *)glSampleCoverage, 2, arg0, arg1); +} +PFNGLSAMPLECOVERAGEPROC glad_debug_glSampleCoverage = glad_debug_impl_glSampleCoverage; +PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +void APIENTRY glad_debug_impl_glSampleMaski(GLuint arg0, GLbitfield arg1) { + _pre_call_callback("glSampleMaski", (void *)glSampleMaski, 2, arg0, arg1); + glad_glSampleMaski(arg0, arg1); + _post_call_callback("glSampleMaski", (void *)glSampleMaski, 2, arg0, arg1); +} +PFNGLSAMPLEMASKIPROC glad_debug_glSampleMaski = glad_debug_impl_glSampleMaski; +PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +void APIENTRY glad_debug_impl_glSamplerParameterIiv(GLuint arg0, GLenum arg1, const GLint *arg2) { + _pre_call_callback("glSamplerParameterIiv", (void *)glSamplerParameterIiv, 3, arg0, arg1, arg2); + glad_glSamplerParameterIiv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterIiv", (void *)glSamplerParameterIiv, 3, arg0, arg1, arg2); +} +PFNGLSAMPLERPARAMETERIIVPROC glad_debug_glSamplerParameterIiv = glad_debug_impl_glSamplerParameterIiv; +PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +void APIENTRY glad_debug_impl_glSamplerParameterIuiv(GLuint arg0, GLenum arg1, const GLuint *arg2) { + _pre_call_callback("glSamplerParameterIuiv", (void *)glSamplerParameterIuiv, 3, arg0, arg1, arg2); + glad_glSamplerParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterIuiv", (void *)glSamplerParameterIuiv, 3, arg0, arg1, arg2); +} +PFNGLSAMPLERPARAMETERIUIVPROC glad_debug_glSamplerParameterIuiv = glad_debug_impl_glSamplerParameterIuiv; +PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +void APIENTRY glad_debug_impl_glSamplerParameterf(GLuint arg0, GLenum arg1, GLfloat arg2) { + _pre_call_callback("glSamplerParameterf", (void *)glSamplerParameterf, 3, arg0, arg1, arg2); + glad_glSamplerParameterf(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterf", (void *)glSamplerParameterf, 3, arg0, arg1, arg2); +} +PFNGLSAMPLERPARAMETERFPROC glad_debug_glSamplerParameterf = glad_debug_impl_glSamplerParameterf; +PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +void APIENTRY glad_debug_impl_glSamplerParameterfv(GLuint arg0, GLenum arg1, const GLfloat *arg2) { + _pre_call_callback("glSamplerParameterfv", (void *)glSamplerParameterfv, 3, arg0, arg1, arg2); + glad_glSamplerParameterfv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterfv", (void *)glSamplerParameterfv, 3, arg0, arg1, arg2); +} +PFNGLSAMPLERPARAMETERFVPROC glad_debug_glSamplerParameterfv = glad_debug_impl_glSamplerParameterfv; +PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +void APIENTRY glad_debug_impl_glSamplerParameteri(GLuint arg0, GLenum arg1, GLint arg2) { + _pre_call_callback("glSamplerParameteri", (void *)glSamplerParameteri, 3, arg0, arg1, arg2); + glad_glSamplerParameteri(arg0, arg1, arg2); + _post_call_callback("glSamplerParameteri", (void *)glSamplerParameteri, 3, arg0, arg1, arg2); +} +PFNGLSAMPLERPARAMETERIPROC glad_debug_glSamplerParameteri = glad_debug_impl_glSamplerParameteri; +PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +void APIENTRY glad_debug_impl_glSamplerParameteriv(GLuint arg0, GLenum arg1, const GLint *arg2) { + _pre_call_callback("glSamplerParameteriv", (void *)glSamplerParameteriv, 3, arg0, arg1, arg2); + glad_glSamplerParameteriv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameteriv", (void *)glSamplerParameteriv, 3, arg0, arg1, arg2); +} +PFNGLSAMPLERPARAMETERIVPROC glad_debug_glSamplerParameteriv = glad_debug_impl_glSamplerParameteriv; +PFNGLSCISSORPROC glad_glScissor; +void APIENTRY glad_debug_impl_glScissor(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glScissor", (void *)glScissor, 4, arg0, arg1, arg2, arg3); + glad_glScissor(arg0, arg1, arg2, arg3); + _post_call_callback("glScissor", (void *)glScissor, 4, arg0, arg1, arg2, arg3); +} +PFNGLSCISSORPROC glad_debug_glScissor = glad_debug_impl_glScissor; +PFNGLSCISSORARRAYVPROC glad_glScissorArrayv; +void APIENTRY glad_debug_impl_glScissorArrayv(GLuint arg0, GLsizei arg1, const GLint *arg2) { + _pre_call_callback("glScissorArrayv", (void *)glScissorArrayv, 3, arg0, arg1, arg2); + glad_glScissorArrayv(arg0, arg1, arg2); + _post_call_callback("glScissorArrayv", (void *)glScissorArrayv, 3, arg0, arg1, arg2); +} +PFNGLSCISSORARRAYVPROC glad_debug_glScissorArrayv = glad_debug_impl_glScissorArrayv; +PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed; +void APIENTRY glad_debug_impl_glScissorIndexed(GLuint arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4) { + _pre_call_callback("glScissorIndexed", (void *)glScissorIndexed, 5, arg0, arg1, arg2, arg3, arg4); + glad_glScissorIndexed(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glScissorIndexed", (void *)glScissorIndexed, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLSCISSORINDEXEDPROC glad_debug_glScissorIndexed = glad_debug_impl_glScissorIndexed; +PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv; +void APIENTRY glad_debug_impl_glScissorIndexedv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glScissorIndexedv", (void *)glScissorIndexedv, 2, arg0, arg1); + glad_glScissorIndexedv(arg0, arg1); + _post_call_callback("glScissorIndexedv", (void *)glScissorIndexedv, 2, arg0, arg1); +} +PFNGLSCISSORINDEXEDVPROC glad_debug_glScissorIndexedv = glad_debug_impl_glScissorIndexedv; +PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +void APIENTRY glad_debug_impl_glSecondaryColorP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glSecondaryColorP3ui", (void *)glSecondaryColorP3ui, 2, arg0, arg1); + glad_glSecondaryColorP3ui(arg0, arg1); + _post_call_callback("glSecondaryColorP3ui", (void *)glSecondaryColorP3ui, 2, arg0, arg1); +} +PFNGLSECONDARYCOLORP3UIPROC glad_debug_glSecondaryColorP3ui = glad_debug_impl_glSecondaryColorP3ui; +PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +void APIENTRY glad_debug_impl_glSecondaryColorP3uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glSecondaryColorP3uiv", (void *)glSecondaryColorP3uiv, 2, arg0, arg1); + glad_glSecondaryColorP3uiv(arg0, arg1); + _post_call_callback("glSecondaryColorP3uiv", (void *)glSecondaryColorP3uiv, 2, arg0, arg1); +} +PFNGLSECONDARYCOLORP3UIVPROC glad_debug_glSecondaryColorP3uiv = glad_debug_impl_glSecondaryColorP3uiv; +PFNGLSHADERBINARYPROC glad_glShaderBinary; +void APIENTRY glad_debug_impl_glShaderBinary(GLsizei arg0, const GLuint *arg1, GLenum arg2, const void *arg3, + GLsizei arg4) { + _pre_call_callback("glShaderBinary", (void *)glShaderBinary, 5, arg0, arg1, arg2, arg3, arg4); + glad_glShaderBinary(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glShaderBinary", (void *)glShaderBinary, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLSHADERBINARYPROC glad_debug_glShaderBinary = glad_debug_impl_glShaderBinary; +PFNGLSHADERSOURCEPROC glad_glShaderSource; +void APIENTRY glad_debug_impl_glShaderSource(GLuint arg0, GLsizei arg1, const GLchar *const *arg2, const GLint *arg3) { + _pre_call_callback("glShaderSource", (void *)glShaderSource, 4, arg0, arg1, arg2, arg3); + glad_glShaderSource(arg0, arg1, arg2, arg3); + _post_call_callback("glShaderSource", (void *)glShaderSource, 4, arg0, arg1, arg2, arg3); +} +PFNGLSHADERSOURCEPROC glad_debug_glShaderSource = glad_debug_impl_glShaderSource; +PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding; +void APIENTRY glad_debug_impl_glShaderStorageBlockBinding(GLuint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glShaderStorageBlockBinding", (void *)glShaderStorageBlockBinding, 3, arg0, arg1, arg2); + glad_glShaderStorageBlockBinding(arg0, arg1, arg2); + _post_call_callback("glShaderStorageBlockBinding", (void *)glShaderStorageBlockBinding, 3, arg0, arg1, arg2); +} +PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_debug_glShaderStorageBlockBinding = glad_debug_impl_glShaderStorageBlockBinding; +PFNGLSTENCILFUNCPROC glad_glStencilFunc; +void APIENTRY glad_debug_impl_glStencilFunc(GLenum arg0, GLint arg1, GLuint arg2) { + _pre_call_callback("glStencilFunc", (void *)glStencilFunc, 3, arg0, arg1, arg2); + glad_glStencilFunc(arg0, arg1, arg2); + _post_call_callback("glStencilFunc", (void *)glStencilFunc, 3, arg0, arg1, arg2); +} +PFNGLSTENCILFUNCPROC glad_debug_glStencilFunc = glad_debug_impl_glStencilFunc; +PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +void APIENTRY glad_debug_impl_glStencilFuncSeparate(GLenum arg0, GLenum arg1, GLint arg2, GLuint arg3) { + _pre_call_callback("glStencilFuncSeparate", (void *)glStencilFuncSeparate, 4, arg0, arg1, arg2, arg3); + glad_glStencilFuncSeparate(arg0, arg1, arg2, arg3); + _post_call_callback("glStencilFuncSeparate", (void *)glStencilFuncSeparate, 4, arg0, arg1, arg2, arg3); +} +PFNGLSTENCILFUNCSEPARATEPROC glad_debug_glStencilFuncSeparate = glad_debug_impl_glStencilFuncSeparate; +PFNGLSTENCILMASKPROC glad_glStencilMask; +void APIENTRY glad_debug_impl_glStencilMask(GLuint arg0) { + _pre_call_callback("glStencilMask", (void *)glStencilMask, 1, arg0); + glad_glStencilMask(arg0); + _post_call_callback("glStencilMask", (void *)glStencilMask, 1, arg0); +} +PFNGLSTENCILMASKPROC glad_debug_glStencilMask = glad_debug_impl_glStencilMask; +PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +void APIENTRY glad_debug_impl_glStencilMaskSeparate(GLenum arg0, GLuint arg1) { + _pre_call_callback("glStencilMaskSeparate", (void *)glStencilMaskSeparate, 2, arg0, arg1); + glad_glStencilMaskSeparate(arg0, arg1); + _post_call_callback("glStencilMaskSeparate", (void *)glStencilMaskSeparate, 2, arg0, arg1); +} +PFNGLSTENCILMASKSEPARATEPROC glad_debug_glStencilMaskSeparate = glad_debug_impl_glStencilMaskSeparate; +PFNGLSTENCILOPPROC glad_glStencilOp; +void APIENTRY glad_debug_impl_glStencilOp(GLenum arg0, GLenum arg1, GLenum arg2) { + _pre_call_callback("glStencilOp", (void *)glStencilOp, 3, arg0, arg1, arg2); + glad_glStencilOp(arg0, arg1, arg2); + _post_call_callback("glStencilOp", (void *)glStencilOp, 3, arg0, arg1, arg2); +} +PFNGLSTENCILOPPROC glad_debug_glStencilOp = glad_debug_impl_glStencilOp; +PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +void APIENTRY glad_debug_impl_glStencilOpSeparate(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) { + _pre_call_callback("glStencilOpSeparate", (void *)glStencilOpSeparate, 4, arg0, arg1, arg2, arg3); + glad_glStencilOpSeparate(arg0, arg1, arg2, arg3); + _post_call_callback("glStencilOpSeparate", (void *)glStencilOpSeparate, 4, arg0, arg1, arg2, arg3); +} +PFNGLSTENCILOPSEPARATEPROC glad_debug_glStencilOpSeparate = glad_debug_impl_glStencilOpSeparate; +PFNGLTEXBUFFERPROC glad_glTexBuffer; +void APIENTRY glad_debug_impl_glTexBuffer(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glTexBuffer", (void *)glTexBuffer, 3, arg0, arg1, arg2); + glad_glTexBuffer(arg0, arg1, arg2); + _post_call_callback("glTexBuffer", (void *)glTexBuffer, 3, arg0, arg1, arg2); +} +PFNGLTEXBUFFERPROC glad_debug_glTexBuffer = glad_debug_impl_glTexBuffer; +PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange; +void APIENTRY glad_debug_impl_glTexBufferRange(GLenum arg0, GLenum arg1, GLuint arg2, GLintptr arg3, GLsizeiptr arg4) { + _pre_call_callback("glTexBufferRange", (void *)glTexBufferRange, 5, arg0, arg1, arg2, arg3, arg4); + glad_glTexBufferRange(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glTexBufferRange", (void *)glTexBufferRange, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLTEXBUFFERRANGEPROC glad_debug_glTexBufferRange = glad_debug_impl_glTexBufferRange; +PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +void APIENTRY glad_debug_impl_glTexCoordP1ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP1ui", (void *)glTexCoordP1ui, 2, arg0, arg1); + glad_glTexCoordP1ui(arg0, arg1); + _post_call_callback("glTexCoordP1ui", (void *)glTexCoordP1ui, 2, arg0, arg1); +} +PFNGLTEXCOORDP1UIPROC glad_debug_glTexCoordP1ui = glad_debug_impl_glTexCoordP1ui; +PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +void APIENTRY glad_debug_impl_glTexCoordP1uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glTexCoordP1uiv", (void *)glTexCoordP1uiv, 2, arg0, arg1); + glad_glTexCoordP1uiv(arg0, arg1); + _post_call_callback("glTexCoordP1uiv", (void *)glTexCoordP1uiv, 2, arg0, arg1); +} +PFNGLTEXCOORDP1UIVPROC glad_debug_glTexCoordP1uiv = glad_debug_impl_glTexCoordP1uiv; +PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +void APIENTRY glad_debug_impl_glTexCoordP2ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP2ui", (void *)glTexCoordP2ui, 2, arg0, arg1); + glad_glTexCoordP2ui(arg0, arg1); + _post_call_callback("glTexCoordP2ui", (void *)glTexCoordP2ui, 2, arg0, arg1); +} +PFNGLTEXCOORDP2UIPROC glad_debug_glTexCoordP2ui = glad_debug_impl_glTexCoordP2ui; +PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +void APIENTRY glad_debug_impl_glTexCoordP2uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glTexCoordP2uiv", (void *)glTexCoordP2uiv, 2, arg0, arg1); + glad_glTexCoordP2uiv(arg0, arg1); + _post_call_callback("glTexCoordP2uiv", (void *)glTexCoordP2uiv, 2, arg0, arg1); +} +PFNGLTEXCOORDP2UIVPROC glad_debug_glTexCoordP2uiv = glad_debug_impl_glTexCoordP2uiv; +PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +void APIENTRY glad_debug_impl_glTexCoordP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP3ui", (void *)glTexCoordP3ui, 2, arg0, arg1); + glad_glTexCoordP3ui(arg0, arg1); + _post_call_callback("glTexCoordP3ui", (void *)glTexCoordP3ui, 2, arg0, arg1); +} +PFNGLTEXCOORDP3UIPROC glad_debug_glTexCoordP3ui = glad_debug_impl_glTexCoordP3ui; +PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +void APIENTRY glad_debug_impl_glTexCoordP3uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glTexCoordP3uiv", (void *)glTexCoordP3uiv, 2, arg0, arg1); + glad_glTexCoordP3uiv(arg0, arg1); + _post_call_callback("glTexCoordP3uiv", (void *)glTexCoordP3uiv, 2, arg0, arg1); +} +PFNGLTEXCOORDP3UIVPROC glad_debug_glTexCoordP3uiv = glad_debug_impl_glTexCoordP3uiv; +PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +void APIENTRY glad_debug_impl_glTexCoordP4ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP4ui", (void *)glTexCoordP4ui, 2, arg0, arg1); + glad_glTexCoordP4ui(arg0, arg1); + _post_call_callback("glTexCoordP4ui", (void *)glTexCoordP4ui, 2, arg0, arg1); +} +PFNGLTEXCOORDP4UIPROC glad_debug_glTexCoordP4ui = glad_debug_impl_glTexCoordP4ui; +PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +void APIENTRY glad_debug_impl_glTexCoordP4uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glTexCoordP4uiv", (void *)glTexCoordP4uiv, 2, arg0, arg1); + glad_glTexCoordP4uiv(arg0, arg1); + _post_call_callback("glTexCoordP4uiv", (void *)glTexCoordP4uiv, 2, arg0, arg1); +} +PFNGLTEXCOORDP4UIVPROC glad_debug_glTexCoordP4uiv = glad_debug_impl_glTexCoordP4uiv; +PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +void APIENTRY glad_debug_impl_glTexImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLint arg4, GLenum arg5, + GLenum arg6, const void *arg7) { + _pre_call_callback("glTexImage1D", (void *)glTexImage1D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glTexImage1D", (void *)glTexImage1D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} +PFNGLTEXIMAGE1DPROC glad_debug_glTexImage1D = glad_debug_impl_glTexImage1D; +PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +void APIENTRY glad_debug_impl_glTexImage2D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, GLint arg5, + GLenum arg6, GLenum arg7, const void *arg8) { + _pre_call_callback("glTexImage2D", (void *)glTexImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + glad_glTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glTexImage2D", (void *)glTexImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); +} +PFNGLTEXIMAGE2DPROC glad_debug_glTexImage2D = glad_debug_impl_glTexImage2D; +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +void APIENTRY glad_debug_impl_glTexImage2DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, + GLsizei arg4, GLboolean arg5) { + _pre_call_callback("glTexImage2DMultisample", (void *)glTexImage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, + arg5); + glad_glTexImage2DMultisample(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glTexImage2DMultisample", (void *)glTexImage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, + arg5); +} +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_debug_glTexImage2DMultisample = glad_debug_impl_glTexImage2DMultisample; +PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +void APIENTRY glad_debug_impl_glTexImage3D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, + GLsizei arg5, GLint arg6, GLenum arg7, GLenum arg8, const void *arg9) { + _pre_call_callback("glTexImage3D", (void *)glTexImage3D, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, + arg9); + glad_glTexImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + _post_call_callback("glTexImage3D", (void *)glTexImage3D, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, + arg9); +} +PFNGLTEXIMAGE3DPROC glad_debug_glTexImage3D = glad_debug_impl_glTexImage3D; +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +void APIENTRY glad_debug_impl_glTexImage3DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, + GLsizei arg4, GLsizei arg5, GLboolean arg6) { + _pre_call_callback("glTexImage3DMultisample", (void *)glTexImage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, + arg5, arg6); + glad_glTexImage3DMultisample(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glTexImage3DMultisample", (void *)glTexImage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, + arg5, arg6); +} +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_debug_glTexImage3DMultisample = glad_debug_impl_glTexImage3DMultisample; +PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +void APIENTRY glad_debug_impl_glTexParameterIiv(GLenum arg0, GLenum arg1, const GLint *arg2) { + _pre_call_callback("glTexParameterIiv", (void *)glTexParameterIiv, 3, arg0, arg1, arg2); + glad_glTexParameterIiv(arg0, arg1, arg2); + _post_call_callback("glTexParameterIiv", (void *)glTexParameterIiv, 3, arg0, arg1, arg2); +} +PFNGLTEXPARAMETERIIVPROC glad_debug_glTexParameterIiv = glad_debug_impl_glTexParameterIiv; +PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +void APIENTRY glad_debug_impl_glTexParameterIuiv(GLenum arg0, GLenum arg1, const GLuint *arg2) { + _pre_call_callback("glTexParameterIuiv", (void *)glTexParameterIuiv, 3, arg0, arg1, arg2); + glad_glTexParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glTexParameterIuiv", (void *)glTexParameterIuiv, 3, arg0, arg1, arg2); +} +PFNGLTEXPARAMETERIUIVPROC glad_debug_glTexParameterIuiv = glad_debug_impl_glTexParameterIuiv; +PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +void APIENTRY glad_debug_impl_glTexParameterf(GLenum arg0, GLenum arg1, GLfloat arg2) { + _pre_call_callback("glTexParameterf", (void *)glTexParameterf, 3, arg0, arg1, arg2); + glad_glTexParameterf(arg0, arg1, arg2); + _post_call_callback("glTexParameterf", (void *)glTexParameterf, 3, arg0, arg1, arg2); +} +PFNGLTEXPARAMETERFPROC glad_debug_glTexParameterf = glad_debug_impl_glTexParameterf; +PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +void APIENTRY glad_debug_impl_glTexParameterfv(GLenum arg0, GLenum arg1, const GLfloat *arg2) { + _pre_call_callback("glTexParameterfv", (void *)glTexParameterfv, 3, arg0, arg1, arg2); + glad_glTexParameterfv(arg0, arg1, arg2); + _post_call_callback("glTexParameterfv", (void *)glTexParameterfv, 3, arg0, arg1, arg2); +} +PFNGLTEXPARAMETERFVPROC glad_debug_glTexParameterfv = glad_debug_impl_glTexParameterfv; +PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +void APIENTRY glad_debug_impl_glTexParameteri(GLenum arg0, GLenum arg1, GLint arg2) { + _pre_call_callback("glTexParameteri", (void *)glTexParameteri, 3, arg0, arg1, arg2); + glad_glTexParameteri(arg0, arg1, arg2); + _post_call_callback("glTexParameteri", (void *)glTexParameteri, 3, arg0, arg1, arg2); +} +PFNGLTEXPARAMETERIPROC glad_debug_glTexParameteri = glad_debug_impl_glTexParameteri; +PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +void APIENTRY glad_debug_impl_glTexParameteriv(GLenum arg0, GLenum arg1, const GLint *arg2) { + _pre_call_callback("glTexParameteriv", (void *)glTexParameteriv, 3, arg0, arg1, arg2); + glad_glTexParameteriv(arg0, arg1, arg2); + _post_call_callback("glTexParameteriv", (void *)glTexParameteriv, 3, arg0, arg1, arg2); +} +PFNGLTEXPARAMETERIVPROC glad_debug_glTexParameteriv = glad_debug_impl_glTexParameteriv; +PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D; +void APIENTRY glad_debug_impl_glTexStorage1D(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3) { + _pre_call_callback("glTexStorage1D", (void *)glTexStorage1D, 4, arg0, arg1, arg2, arg3); + glad_glTexStorage1D(arg0, arg1, arg2, arg3); + _post_call_callback("glTexStorage1D", (void *)glTexStorage1D, 4, arg0, arg1, arg2, arg3); +} +PFNGLTEXSTORAGE1DPROC glad_debug_glTexStorage1D = glad_debug_impl_glTexStorage1D; +PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D; +void APIENTRY glad_debug_impl_glTexStorage2D(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4) { + _pre_call_callback("glTexStorage2D", (void *)glTexStorage2D, 5, arg0, arg1, arg2, arg3, arg4); + glad_glTexStorage2D(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glTexStorage2D", (void *)glTexStorage2D, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLTEXSTORAGE2DPROC glad_debug_glTexStorage2D = glad_debug_impl_glTexStorage2D; +PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample; +void APIENTRY glad_debug_impl_glTexStorage2DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, + GLsizei arg4, GLboolean arg5) { + _pre_call_callback("glTexStorage2DMultisample", (void *)glTexStorage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, + arg5); + glad_glTexStorage2DMultisample(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glTexStorage2DMultisample", (void *)glTexStorage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, + arg5); +} +PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_debug_glTexStorage2DMultisample = glad_debug_impl_glTexStorage2DMultisample; +PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D; +void APIENTRY glad_debug_impl_glTexStorage3D(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, + GLsizei arg5) { + _pre_call_callback("glTexStorage3D", (void *)glTexStorage3D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glTexStorage3D(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glTexStorage3D", (void *)glTexStorage3D, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLTEXSTORAGE3DPROC glad_debug_glTexStorage3D = glad_debug_impl_glTexStorage3D; +PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample; +void APIENTRY glad_debug_impl_glTexStorage3DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, + GLsizei arg4, GLsizei arg5, GLboolean arg6) { + _pre_call_callback("glTexStorage3DMultisample", (void *)glTexStorage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, + arg5, arg6); + glad_glTexStorage3DMultisample(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glTexStorage3DMultisample", (void *)glTexStorage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, + arg5, arg6); +} +PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_debug_glTexStorage3DMultisample = glad_debug_impl_glTexStorage3DMultisample; +PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +void APIENTRY glad_debug_impl_glTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLenum arg4, + GLenum arg5, const void *arg6) { + _pre_call_callback("glTexSubImage1D", (void *)glTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glTexSubImage1D", (void *)glTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +PFNGLTEXSUBIMAGE1DPROC glad_debug_glTexSubImage1D = glad_debug_impl_glTexSubImage1D; +PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +void APIENTRY glad_debug_impl_glTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, + GLsizei arg5, GLenum arg6, GLenum arg7, const void *arg8) { + _pre_call_callback("glTexSubImage2D", (void *)glTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, + arg8); + glad_glTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glTexSubImage2D", (void *)glTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, + arg8); +} +PFNGLTEXSUBIMAGE2DPROC glad_debug_glTexSubImage2D = glad_debug_impl_glTexSubImage2D; +PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +void APIENTRY glad_debug_impl_glTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5, + GLsizei arg6, GLsizei arg7, GLenum arg8, GLenum arg9, const void *arg10) { + _pre_call_callback("glTexSubImage3D", (void *)glTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, + arg8, arg9, arg10); + glad_glTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + _post_call_callback("glTexSubImage3D", (void *)glTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, + arg8, arg9, arg10); +} +PFNGLTEXSUBIMAGE3DPROC glad_debug_glTexSubImage3D = glad_debug_impl_glTexSubImage3D; +PFNGLTEXTUREVIEWPROC glad_glTextureView; +void APIENTRY glad_debug_impl_glTextureView(GLuint arg0, GLenum arg1, GLuint arg2, GLenum arg3, GLuint arg4, + GLuint arg5, GLuint arg6, GLuint arg7) { + _pre_call_callback("glTextureView", (void *)glTextureView, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glTextureView(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glTextureView", (void *)glTextureView, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} +PFNGLTEXTUREVIEWPROC glad_debug_glTextureView = glad_debug_impl_glTextureView; +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +void APIENTRY glad_debug_impl_glTransformFeedbackVaryings(GLuint arg0, GLsizei arg1, const GLchar *const *arg2, + GLenum arg3) { + _pre_call_callback("glTransformFeedbackVaryings", (void *)glTransformFeedbackVaryings, 4, arg0, arg1, arg2, arg3); + glad_glTransformFeedbackVaryings(arg0, arg1, arg2, arg3); + _post_call_callback("glTransformFeedbackVaryings", (void *)glTransformFeedbackVaryings, 4, arg0, arg1, arg2, arg3); +} +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_debug_glTransformFeedbackVaryings = glad_debug_impl_glTransformFeedbackVaryings; +PFNGLUNIFORM1DPROC glad_glUniform1d; +void APIENTRY glad_debug_impl_glUniform1d(GLint arg0, GLdouble arg1) { + _pre_call_callback("glUniform1d", (void *)glUniform1d, 2, arg0, arg1); + glad_glUniform1d(arg0, arg1); + _post_call_callback("glUniform1d", (void *)glUniform1d, 2, arg0, arg1); +} +PFNGLUNIFORM1DPROC glad_debug_glUniform1d = glad_debug_impl_glUniform1d; +PFNGLUNIFORM1DVPROC glad_glUniform1dv; +void APIENTRY glad_debug_impl_glUniform1dv(GLint arg0, GLsizei arg1, const GLdouble *arg2) { + _pre_call_callback("glUniform1dv", (void *)glUniform1dv, 3, arg0, arg1, arg2); + glad_glUniform1dv(arg0, arg1, arg2); + _post_call_callback("glUniform1dv", (void *)glUniform1dv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM1DVPROC glad_debug_glUniform1dv = glad_debug_impl_glUniform1dv; +PFNGLUNIFORM1FPROC glad_glUniform1f; +void APIENTRY glad_debug_impl_glUniform1f(GLint arg0, GLfloat arg1) { + _pre_call_callback("glUniform1f", (void *)glUniform1f, 2, arg0, arg1); + glad_glUniform1f(arg0, arg1); + _post_call_callback("glUniform1f", (void *)glUniform1f, 2, arg0, arg1); +} +PFNGLUNIFORM1FPROC glad_debug_glUniform1f = glad_debug_impl_glUniform1f; +PFNGLUNIFORM1FVPROC glad_glUniform1fv; +void APIENTRY glad_debug_impl_glUniform1fv(GLint arg0, GLsizei arg1, const GLfloat *arg2) { + _pre_call_callback("glUniform1fv", (void *)glUniform1fv, 3, arg0, arg1, arg2); + glad_glUniform1fv(arg0, arg1, arg2); + _post_call_callback("glUniform1fv", (void *)glUniform1fv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM1FVPROC glad_debug_glUniform1fv = glad_debug_impl_glUniform1fv; +PFNGLUNIFORM1IPROC glad_glUniform1i; +void APIENTRY glad_debug_impl_glUniform1i(GLint arg0, GLint arg1) { + _pre_call_callback("glUniform1i", (void *)glUniform1i, 2, arg0, arg1); + glad_glUniform1i(arg0, arg1); + _post_call_callback("glUniform1i", (void *)glUniform1i, 2, arg0, arg1); +} +PFNGLUNIFORM1IPROC glad_debug_glUniform1i = glad_debug_impl_glUniform1i; +PFNGLUNIFORM1IVPROC glad_glUniform1iv; +void APIENTRY glad_debug_impl_glUniform1iv(GLint arg0, GLsizei arg1, const GLint *arg2) { + _pre_call_callback("glUniform1iv", (void *)glUniform1iv, 3, arg0, arg1, arg2); + glad_glUniform1iv(arg0, arg1, arg2); + _post_call_callback("glUniform1iv", (void *)glUniform1iv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM1IVPROC glad_debug_glUniform1iv = glad_debug_impl_glUniform1iv; +PFNGLUNIFORM1UIPROC glad_glUniform1ui; +void APIENTRY glad_debug_impl_glUniform1ui(GLint arg0, GLuint arg1) { + _pre_call_callback("glUniform1ui", (void *)glUniform1ui, 2, arg0, arg1); + glad_glUniform1ui(arg0, arg1); + _post_call_callback("glUniform1ui", (void *)glUniform1ui, 2, arg0, arg1); +} +PFNGLUNIFORM1UIPROC glad_debug_glUniform1ui = glad_debug_impl_glUniform1ui; +PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +void APIENTRY glad_debug_impl_glUniform1uiv(GLint arg0, GLsizei arg1, const GLuint *arg2) { + _pre_call_callback("glUniform1uiv", (void *)glUniform1uiv, 3, arg0, arg1, arg2); + glad_glUniform1uiv(arg0, arg1, arg2); + _post_call_callback("glUniform1uiv", (void *)glUniform1uiv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM1UIVPROC glad_debug_glUniform1uiv = glad_debug_impl_glUniform1uiv; +PFNGLUNIFORM2DPROC glad_glUniform2d; +void APIENTRY glad_debug_impl_glUniform2d(GLint arg0, GLdouble arg1, GLdouble arg2) { + _pre_call_callback("glUniform2d", (void *)glUniform2d, 3, arg0, arg1, arg2); + glad_glUniform2d(arg0, arg1, arg2); + _post_call_callback("glUniform2d", (void *)glUniform2d, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2DPROC glad_debug_glUniform2d = glad_debug_impl_glUniform2d; +PFNGLUNIFORM2DVPROC glad_glUniform2dv; +void APIENTRY glad_debug_impl_glUniform2dv(GLint arg0, GLsizei arg1, const GLdouble *arg2) { + _pre_call_callback("glUniform2dv", (void *)glUniform2dv, 3, arg0, arg1, arg2); + glad_glUniform2dv(arg0, arg1, arg2); + _post_call_callback("glUniform2dv", (void *)glUniform2dv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2DVPROC glad_debug_glUniform2dv = glad_debug_impl_glUniform2dv; +PFNGLUNIFORM2FPROC glad_glUniform2f; +void APIENTRY glad_debug_impl_glUniform2f(GLint arg0, GLfloat arg1, GLfloat arg2) { + _pre_call_callback("glUniform2f", (void *)glUniform2f, 3, arg0, arg1, arg2); + glad_glUniform2f(arg0, arg1, arg2); + _post_call_callback("glUniform2f", (void *)glUniform2f, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2FPROC glad_debug_glUniform2f = glad_debug_impl_glUniform2f; +PFNGLUNIFORM2FVPROC glad_glUniform2fv; +void APIENTRY glad_debug_impl_glUniform2fv(GLint arg0, GLsizei arg1, const GLfloat *arg2) { + _pre_call_callback("glUniform2fv", (void *)glUniform2fv, 3, arg0, arg1, arg2); + glad_glUniform2fv(arg0, arg1, arg2); + _post_call_callback("glUniform2fv", (void *)glUniform2fv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2FVPROC glad_debug_glUniform2fv = glad_debug_impl_glUniform2fv; +PFNGLUNIFORM2IPROC glad_glUniform2i; +void APIENTRY glad_debug_impl_glUniform2i(GLint arg0, GLint arg1, GLint arg2) { + _pre_call_callback("glUniform2i", (void *)glUniform2i, 3, arg0, arg1, arg2); + glad_glUniform2i(arg0, arg1, arg2); + _post_call_callback("glUniform2i", (void *)glUniform2i, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2IPROC glad_debug_glUniform2i = glad_debug_impl_glUniform2i; +PFNGLUNIFORM2IVPROC glad_glUniform2iv; +void APIENTRY glad_debug_impl_glUniform2iv(GLint arg0, GLsizei arg1, const GLint *arg2) { + _pre_call_callback("glUniform2iv", (void *)glUniform2iv, 3, arg0, arg1, arg2); + glad_glUniform2iv(arg0, arg1, arg2); + _post_call_callback("glUniform2iv", (void *)glUniform2iv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2IVPROC glad_debug_glUniform2iv = glad_debug_impl_glUniform2iv; +PFNGLUNIFORM2UIPROC glad_glUniform2ui; +void APIENTRY glad_debug_impl_glUniform2ui(GLint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glUniform2ui", (void *)glUniform2ui, 3, arg0, arg1, arg2); + glad_glUniform2ui(arg0, arg1, arg2); + _post_call_callback("glUniform2ui", (void *)glUniform2ui, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2UIPROC glad_debug_glUniform2ui = glad_debug_impl_glUniform2ui; +PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +void APIENTRY glad_debug_impl_glUniform2uiv(GLint arg0, GLsizei arg1, const GLuint *arg2) { + _pre_call_callback("glUniform2uiv", (void *)glUniform2uiv, 3, arg0, arg1, arg2); + glad_glUniform2uiv(arg0, arg1, arg2); + _post_call_callback("glUniform2uiv", (void *)glUniform2uiv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM2UIVPROC glad_debug_glUniform2uiv = glad_debug_impl_glUniform2uiv; +PFNGLUNIFORM3DPROC glad_glUniform3d; +void APIENTRY glad_debug_impl_glUniform3d(GLint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3) { + _pre_call_callback("glUniform3d", (void *)glUniform3d, 4, arg0, arg1, arg2, arg3); + glad_glUniform3d(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3d", (void *)glUniform3d, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORM3DPROC glad_debug_glUniform3d = glad_debug_impl_glUniform3d; +PFNGLUNIFORM3DVPROC glad_glUniform3dv; +void APIENTRY glad_debug_impl_glUniform3dv(GLint arg0, GLsizei arg1, const GLdouble *arg2) { + _pre_call_callback("glUniform3dv", (void *)glUniform3dv, 3, arg0, arg1, arg2); + glad_glUniform3dv(arg0, arg1, arg2); + _post_call_callback("glUniform3dv", (void *)glUniform3dv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM3DVPROC glad_debug_glUniform3dv = glad_debug_impl_glUniform3dv; +PFNGLUNIFORM3FPROC glad_glUniform3f; +void APIENTRY glad_debug_impl_glUniform3f(GLint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glUniform3f", (void *)glUniform3f, 4, arg0, arg1, arg2, arg3); + glad_glUniform3f(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3f", (void *)glUniform3f, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORM3FPROC glad_debug_glUniform3f = glad_debug_impl_glUniform3f; +PFNGLUNIFORM3FVPROC glad_glUniform3fv; +void APIENTRY glad_debug_impl_glUniform3fv(GLint arg0, GLsizei arg1, const GLfloat *arg2) { + _pre_call_callback("glUniform3fv", (void *)glUniform3fv, 3, arg0, arg1, arg2); + glad_glUniform3fv(arg0, arg1, arg2); + _post_call_callback("glUniform3fv", (void *)glUniform3fv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM3FVPROC glad_debug_glUniform3fv = glad_debug_impl_glUniform3fv; +PFNGLUNIFORM3IPROC glad_glUniform3i; +void APIENTRY glad_debug_impl_glUniform3i(GLint arg0, GLint arg1, GLint arg2, GLint arg3) { + _pre_call_callback("glUniform3i", (void *)glUniform3i, 4, arg0, arg1, arg2, arg3); + glad_glUniform3i(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3i", (void *)glUniform3i, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORM3IPROC glad_debug_glUniform3i = glad_debug_impl_glUniform3i; +PFNGLUNIFORM3IVPROC glad_glUniform3iv; +void APIENTRY glad_debug_impl_glUniform3iv(GLint arg0, GLsizei arg1, const GLint *arg2) { + _pre_call_callback("glUniform3iv", (void *)glUniform3iv, 3, arg0, arg1, arg2); + glad_glUniform3iv(arg0, arg1, arg2); + _post_call_callback("glUniform3iv", (void *)glUniform3iv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM3IVPROC glad_debug_glUniform3iv = glad_debug_impl_glUniform3iv; +PFNGLUNIFORM3UIPROC glad_glUniform3ui; +void APIENTRY glad_debug_impl_glUniform3ui(GLint arg0, GLuint arg1, GLuint arg2, GLuint arg3) { + _pre_call_callback("glUniform3ui", (void *)glUniform3ui, 4, arg0, arg1, arg2, arg3); + glad_glUniform3ui(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3ui", (void *)glUniform3ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORM3UIPROC glad_debug_glUniform3ui = glad_debug_impl_glUniform3ui; +PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +void APIENTRY glad_debug_impl_glUniform3uiv(GLint arg0, GLsizei arg1, const GLuint *arg2) { + _pre_call_callback("glUniform3uiv", (void *)glUniform3uiv, 3, arg0, arg1, arg2); + glad_glUniform3uiv(arg0, arg1, arg2); + _post_call_callback("glUniform3uiv", (void *)glUniform3uiv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM3UIVPROC glad_debug_glUniform3uiv = glad_debug_impl_glUniform3uiv; +PFNGLUNIFORM4DPROC glad_glUniform4d; +void APIENTRY glad_debug_impl_glUniform4d(GLint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3, GLdouble arg4) { + _pre_call_callback("glUniform4d", (void *)glUniform4d, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4d(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4d", (void *)glUniform4d, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLUNIFORM4DPROC glad_debug_glUniform4d = glad_debug_impl_glUniform4d; +PFNGLUNIFORM4DVPROC glad_glUniform4dv; +void APIENTRY glad_debug_impl_glUniform4dv(GLint arg0, GLsizei arg1, const GLdouble *arg2) { + _pre_call_callback("glUniform4dv", (void *)glUniform4dv, 3, arg0, arg1, arg2); + glad_glUniform4dv(arg0, arg1, arg2); + _post_call_callback("glUniform4dv", (void *)glUniform4dv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM4DVPROC glad_debug_glUniform4dv = glad_debug_impl_glUniform4dv; +PFNGLUNIFORM4FPROC glad_glUniform4f; +void APIENTRY glad_debug_impl_glUniform4f(GLint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + _pre_call_callback("glUniform4f", (void *)glUniform4f, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4f(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4f", (void *)glUniform4f, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLUNIFORM4FPROC glad_debug_glUniform4f = glad_debug_impl_glUniform4f; +PFNGLUNIFORM4FVPROC glad_glUniform4fv; +void APIENTRY glad_debug_impl_glUniform4fv(GLint arg0, GLsizei arg1, const GLfloat *arg2) { + _pre_call_callback("glUniform4fv", (void *)glUniform4fv, 3, arg0, arg1, arg2); + glad_glUniform4fv(arg0, arg1, arg2); + _post_call_callback("glUniform4fv", (void *)glUniform4fv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM4FVPROC glad_debug_glUniform4fv = glad_debug_impl_glUniform4fv; +PFNGLUNIFORM4IPROC glad_glUniform4i; +void APIENTRY glad_debug_impl_glUniform4i(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glUniform4i", (void *)glUniform4i, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4i(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4i", (void *)glUniform4i, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLUNIFORM4IPROC glad_debug_glUniform4i = glad_debug_impl_glUniform4i; +PFNGLUNIFORM4IVPROC glad_glUniform4iv; +void APIENTRY glad_debug_impl_glUniform4iv(GLint arg0, GLsizei arg1, const GLint *arg2) { + _pre_call_callback("glUniform4iv", (void *)glUniform4iv, 3, arg0, arg1, arg2); + glad_glUniform4iv(arg0, arg1, arg2); + _post_call_callback("glUniform4iv", (void *)glUniform4iv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM4IVPROC glad_debug_glUniform4iv = glad_debug_impl_glUniform4iv; +PFNGLUNIFORM4UIPROC glad_glUniform4ui; +void APIENTRY glad_debug_impl_glUniform4ui(GLint arg0, GLuint arg1, GLuint arg2, GLuint arg3, GLuint arg4) { + _pre_call_callback("glUniform4ui", (void *)glUniform4ui, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4ui(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4ui", (void *)glUniform4ui, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLUNIFORM4UIPROC glad_debug_glUniform4ui = glad_debug_impl_glUniform4ui; +PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +void APIENTRY glad_debug_impl_glUniform4uiv(GLint arg0, GLsizei arg1, const GLuint *arg2) { + _pre_call_callback("glUniform4uiv", (void *)glUniform4uiv, 3, arg0, arg1, arg2); + glad_glUniform4uiv(arg0, arg1, arg2); + _post_call_callback("glUniform4uiv", (void *)glUniform4uiv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORM4UIVPROC glad_debug_glUniform4uiv = glad_debug_impl_glUniform4uiv; +PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +void APIENTRY glad_debug_impl_glUniformBlockBinding(GLuint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glUniformBlockBinding", (void *)glUniformBlockBinding, 3, arg0, arg1, arg2); + glad_glUniformBlockBinding(arg0, arg1, arg2); + _post_call_callback("glUniformBlockBinding", (void *)glUniformBlockBinding, 3, arg0, arg1, arg2); +} +PFNGLUNIFORMBLOCKBINDINGPROC glad_debug_glUniformBlockBinding = glad_debug_impl_glUniformBlockBinding; +PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv; +void APIENTRY glad_debug_impl_glUniformMatrix2dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix2dv", (void *)glUniformMatrix2dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2dv", (void *)glUniformMatrix2dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX2DVPROC glad_debug_glUniformMatrix2dv = glad_debug_impl_glUniformMatrix2dv; +PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +void APIENTRY glad_debug_impl_glUniformMatrix2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix2fv", (void *)glUniformMatrix2fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2fv", (void *)glUniformMatrix2fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX2FVPROC glad_debug_glUniformMatrix2fv = glad_debug_impl_glUniformMatrix2fv; +PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv; +void APIENTRY glad_debug_impl_glUniformMatrix2x3dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix2x3dv", (void *)glUniformMatrix2x3dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2x3dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2x3dv", (void *)glUniformMatrix2x3dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX2X3DVPROC glad_debug_glUniformMatrix2x3dv = glad_debug_impl_glUniformMatrix2x3dv; +PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +void APIENTRY glad_debug_impl_glUniformMatrix2x3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix2x3fv", (void *)glUniformMatrix2x3fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2x3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2x3fv", (void *)glUniformMatrix2x3fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX2X3FVPROC glad_debug_glUniformMatrix2x3fv = glad_debug_impl_glUniformMatrix2x3fv; +PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv; +void APIENTRY glad_debug_impl_glUniformMatrix2x4dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix2x4dv", (void *)glUniformMatrix2x4dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2x4dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2x4dv", (void *)glUniformMatrix2x4dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX2X4DVPROC glad_debug_glUniformMatrix2x4dv = glad_debug_impl_glUniformMatrix2x4dv; +PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +void APIENTRY glad_debug_impl_glUniformMatrix2x4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix2x4fv", (void *)glUniformMatrix2x4fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2x4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2x4fv", (void *)glUniformMatrix2x4fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX2X4FVPROC glad_debug_glUniformMatrix2x4fv = glad_debug_impl_glUniformMatrix2x4fv; +PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv; +void APIENTRY glad_debug_impl_glUniformMatrix3dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix3dv", (void *)glUniformMatrix3dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3dv", (void *)glUniformMatrix3dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX3DVPROC glad_debug_glUniformMatrix3dv = glad_debug_impl_glUniformMatrix3dv; +PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +void APIENTRY glad_debug_impl_glUniformMatrix3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix3fv", (void *)glUniformMatrix3fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3fv", (void *)glUniformMatrix3fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX3FVPROC glad_debug_glUniformMatrix3fv = glad_debug_impl_glUniformMatrix3fv; +PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv; +void APIENTRY glad_debug_impl_glUniformMatrix3x2dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix3x2dv", (void *)glUniformMatrix3x2dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3x2dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3x2dv", (void *)glUniformMatrix3x2dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX3X2DVPROC glad_debug_glUniformMatrix3x2dv = glad_debug_impl_glUniformMatrix3x2dv; +PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +void APIENTRY glad_debug_impl_glUniformMatrix3x2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix3x2fv", (void *)glUniformMatrix3x2fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3x2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3x2fv", (void *)glUniformMatrix3x2fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX3X2FVPROC glad_debug_glUniformMatrix3x2fv = glad_debug_impl_glUniformMatrix3x2fv; +PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv; +void APIENTRY glad_debug_impl_glUniformMatrix3x4dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix3x4dv", (void *)glUniformMatrix3x4dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3x4dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3x4dv", (void *)glUniformMatrix3x4dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX3X4DVPROC glad_debug_glUniformMatrix3x4dv = glad_debug_impl_glUniformMatrix3x4dv; +PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +void APIENTRY glad_debug_impl_glUniformMatrix3x4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix3x4fv", (void *)glUniformMatrix3x4fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3x4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3x4fv", (void *)glUniformMatrix3x4fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX3X4FVPROC glad_debug_glUniformMatrix3x4fv = glad_debug_impl_glUniformMatrix3x4fv; +PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv; +void APIENTRY glad_debug_impl_glUniformMatrix4dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix4dv", (void *)glUniformMatrix4dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4dv", (void *)glUniformMatrix4dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX4DVPROC glad_debug_glUniformMatrix4dv = glad_debug_impl_glUniformMatrix4dv; +PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +void APIENTRY glad_debug_impl_glUniformMatrix4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix4fv", (void *)glUniformMatrix4fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4fv", (void *)glUniformMatrix4fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX4FVPROC glad_debug_glUniformMatrix4fv = glad_debug_impl_glUniformMatrix4fv; +PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv; +void APIENTRY glad_debug_impl_glUniformMatrix4x2dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix4x2dv", (void *)glUniformMatrix4x2dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4x2dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4x2dv", (void *)glUniformMatrix4x2dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX4X2DVPROC glad_debug_glUniformMatrix4x2dv = glad_debug_impl_glUniformMatrix4x2dv; +PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +void APIENTRY glad_debug_impl_glUniformMatrix4x2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix4x2fv", (void *)glUniformMatrix4x2fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4x2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4x2fv", (void *)glUniformMatrix4x2fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX4X2FVPROC glad_debug_glUniformMatrix4x2fv = glad_debug_impl_glUniformMatrix4x2fv; +PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv; +void APIENTRY glad_debug_impl_glUniformMatrix4x3dv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLdouble *arg3) { + _pre_call_callback("glUniformMatrix4x3dv", (void *)glUniformMatrix4x3dv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4x3dv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4x3dv", (void *)glUniformMatrix4x3dv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX4X3DVPROC glad_debug_glUniformMatrix4x3dv = glad_debug_impl_glUniformMatrix4x3dv; +PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +void APIENTRY glad_debug_impl_glUniformMatrix4x3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat *arg3) { + _pre_call_callback("glUniformMatrix4x3fv", (void *)glUniformMatrix4x3fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4x3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4x3fv", (void *)glUniformMatrix4x3fv, 4, arg0, arg1, arg2, arg3); +} +PFNGLUNIFORMMATRIX4X3FVPROC glad_debug_glUniformMatrix4x3fv = glad_debug_impl_glUniformMatrix4x3fv; +PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv; +void APIENTRY glad_debug_impl_glUniformSubroutinesuiv(GLenum arg0, GLsizei arg1, const GLuint *arg2) { + _pre_call_callback("glUniformSubroutinesuiv", (void *)glUniformSubroutinesuiv, 3, arg0, arg1, arg2); + glad_glUniformSubroutinesuiv(arg0, arg1, arg2); + _post_call_callback("glUniformSubroutinesuiv", (void *)glUniformSubroutinesuiv, 3, arg0, arg1, arg2); +} +PFNGLUNIFORMSUBROUTINESUIVPROC glad_debug_glUniformSubroutinesuiv = glad_debug_impl_glUniformSubroutinesuiv; +PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +GLboolean APIENTRY glad_debug_impl_glUnmapBuffer(GLenum arg0) { + GLboolean ret; + _pre_call_callback("glUnmapBuffer", (void *)glUnmapBuffer, 1, arg0); + ret = glad_glUnmapBuffer(arg0); + _post_call_callback("glUnmapBuffer", (void *)glUnmapBuffer, 1, arg0); + return ret; +} +PFNGLUNMAPBUFFERPROC glad_debug_glUnmapBuffer = glad_debug_impl_glUnmapBuffer; +PFNGLUSEPROGRAMPROC glad_glUseProgram; +void APIENTRY glad_debug_impl_glUseProgram(GLuint arg0) { + _pre_call_callback("glUseProgram", (void *)glUseProgram, 1, arg0); + glad_glUseProgram(arg0); + _post_call_callback("glUseProgram", (void *)glUseProgram, 1, arg0); +} +PFNGLUSEPROGRAMPROC glad_debug_glUseProgram = glad_debug_impl_glUseProgram; +PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages; +void APIENTRY glad_debug_impl_glUseProgramStages(GLuint arg0, GLbitfield arg1, GLuint arg2) { + _pre_call_callback("glUseProgramStages", (void *)glUseProgramStages, 3, arg0, arg1, arg2); + glad_glUseProgramStages(arg0, arg1, arg2); + _post_call_callback("glUseProgramStages", (void *)glUseProgramStages, 3, arg0, arg1, arg2); +} +PFNGLUSEPROGRAMSTAGESPROC glad_debug_glUseProgramStages = glad_debug_impl_glUseProgramStages; +PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +void APIENTRY glad_debug_impl_glValidateProgram(GLuint arg0) { + _pre_call_callback("glValidateProgram", (void *)glValidateProgram, 1, arg0); + glad_glValidateProgram(arg0); + _post_call_callback("glValidateProgram", (void *)glValidateProgram, 1, arg0); +} +PFNGLVALIDATEPROGRAMPROC glad_debug_glValidateProgram = glad_debug_impl_glValidateProgram; +PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline; +void APIENTRY glad_debug_impl_glValidateProgramPipeline(GLuint arg0) { + _pre_call_callback("glValidateProgramPipeline", (void *)glValidateProgramPipeline, 1, arg0); + glad_glValidateProgramPipeline(arg0); + _post_call_callback("glValidateProgramPipeline", (void *)glValidateProgramPipeline, 1, arg0); +} +PFNGLVALIDATEPROGRAMPIPELINEPROC glad_debug_glValidateProgramPipeline = glad_debug_impl_glValidateProgramPipeline; +PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +void APIENTRY glad_debug_impl_glVertexAttrib1d(GLuint arg0, GLdouble arg1) { + _pre_call_callback("glVertexAttrib1d", (void *)glVertexAttrib1d, 2, arg0, arg1); + glad_glVertexAttrib1d(arg0, arg1); + _post_call_callback("glVertexAttrib1d", (void *)glVertexAttrib1d, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB1DPROC glad_debug_glVertexAttrib1d = glad_debug_impl_glVertexAttrib1d; +PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +void APIENTRY glad_debug_impl_glVertexAttrib1dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttrib1dv", (void *)glVertexAttrib1dv, 2, arg0, arg1); + glad_glVertexAttrib1dv(arg0, arg1); + _post_call_callback("glVertexAttrib1dv", (void *)glVertexAttrib1dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB1DVPROC glad_debug_glVertexAttrib1dv = glad_debug_impl_glVertexAttrib1dv; +PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +void APIENTRY glad_debug_impl_glVertexAttrib1f(GLuint arg0, GLfloat arg1) { + _pre_call_callback("glVertexAttrib1f", (void *)glVertexAttrib1f, 2, arg0, arg1); + glad_glVertexAttrib1f(arg0, arg1); + _post_call_callback("glVertexAttrib1f", (void *)glVertexAttrib1f, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB1FPROC glad_debug_glVertexAttrib1f = glad_debug_impl_glVertexAttrib1f; +PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +void APIENTRY glad_debug_impl_glVertexAttrib1fv(GLuint arg0, const GLfloat *arg1) { + _pre_call_callback("glVertexAttrib1fv", (void *)glVertexAttrib1fv, 2, arg0, arg1); + glad_glVertexAttrib1fv(arg0, arg1); + _post_call_callback("glVertexAttrib1fv", (void *)glVertexAttrib1fv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB1FVPROC glad_debug_glVertexAttrib1fv = glad_debug_impl_glVertexAttrib1fv; +PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +void APIENTRY glad_debug_impl_glVertexAttrib1s(GLuint arg0, GLshort arg1) { + _pre_call_callback("glVertexAttrib1s", (void *)glVertexAttrib1s, 2, arg0, arg1); + glad_glVertexAttrib1s(arg0, arg1); + _post_call_callback("glVertexAttrib1s", (void *)glVertexAttrib1s, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB1SPROC glad_debug_glVertexAttrib1s = glad_debug_impl_glVertexAttrib1s; +PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +void APIENTRY glad_debug_impl_glVertexAttrib1sv(GLuint arg0, const GLshort *arg1) { + _pre_call_callback("glVertexAttrib1sv", (void *)glVertexAttrib1sv, 2, arg0, arg1); + glad_glVertexAttrib1sv(arg0, arg1); + _post_call_callback("glVertexAttrib1sv", (void *)glVertexAttrib1sv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB1SVPROC glad_debug_glVertexAttrib1sv = glad_debug_impl_glVertexAttrib1sv; +PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +void APIENTRY glad_debug_impl_glVertexAttrib2d(GLuint arg0, GLdouble arg1, GLdouble arg2) { + _pre_call_callback("glVertexAttrib2d", (void *)glVertexAttrib2d, 3, arg0, arg1, arg2); + glad_glVertexAttrib2d(arg0, arg1, arg2); + _post_call_callback("glVertexAttrib2d", (void *)glVertexAttrib2d, 3, arg0, arg1, arg2); +} +PFNGLVERTEXATTRIB2DPROC glad_debug_glVertexAttrib2d = glad_debug_impl_glVertexAttrib2d; +PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +void APIENTRY glad_debug_impl_glVertexAttrib2dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttrib2dv", (void *)glVertexAttrib2dv, 2, arg0, arg1); + glad_glVertexAttrib2dv(arg0, arg1); + _post_call_callback("glVertexAttrib2dv", (void *)glVertexAttrib2dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB2DVPROC glad_debug_glVertexAttrib2dv = glad_debug_impl_glVertexAttrib2dv; +PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +void APIENTRY glad_debug_impl_glVertexAttrib2f(GLuint arg0, GLfloat arg1, GLfloat arg2) { + _pre_call_callback("glVertexAttrib2f", (void *)glVertexAttrib2f, 3, arg0, arg1, arg2); + glad_glVertexAttrib2f(arg0, arg1, arg2); + _post_call_callback("glVertexAttrib2f", (void *)glVertexAttrib2f, 3, arg0, arg1, arg2); +} +PFNGLVERTEXATTRIB2FPROC glad_debug_glVertexAttrib2f = glad_debug_impl_glVertexAttrib2f; +PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +void APIENTRY glad_debug_impl_glVertexAttrib2fv(GLuint arg0, const GLfloat *arg1) { + _pre_call_callback("glVertexAttrib2fv", (void *)glVertexAttrib2fv, 2, arg0, arg1); + glad_glVertexAttrib2fv(arg0, arg1); + _post_call_callback("glVertexAttrib2fv", (void *)glVertexAttrib2fv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB2FVPROC glad_debug_glVertexAttrib2fv = glad_debug_impl_glVertexAttrib2fv; +PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +void APIENTRY glad_debug_impl_glVertexAttrib2s(GLuint arg0, GLshort arg1, GLshort arg2) { + _pre_call_callback("glVertexAttrib2s", (void *)glVertexAttrib2s, 3, arg0, arg1, arg2); + glad_glVertexAttrib2s(arg0, arg1, arg2); + _post_call_callback("glVertexAttrib2s", (void *)glVertexAttrib2s, 3, arg0, arg1, arg2); +} +PFNGLVERTEXATTRIB2SPROC glad_debug_glVertexAttrib2s = glad_debug_impl_glVertexAttrib2s; +PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +void APIENTRY glad_debug_impl_glVertexAttrib2sv(GLuint arg0, const GLshort *arg1) { + _pre_call_callback("glVertexAttrib2sv", (void *)glVertexAttrib2sv, 2, arg0, arg1); + glad_glVertexAttrib2sv(arg0, arg1); + _post_call_callback("glVertexAttrib2sv", (void *)glVertexAttrib2sv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB2SVPROC glad_debug_glVertexAttrib2sv = glad_debug_impl_glVertexAttrib2sv; +PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +void APIENTRY glad_debug_impl_glVertexAttrib3d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3) { + _pre_call_callback("glVertexAttrib3d", (void *)glVertexAttrib3d, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttrib3d(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttrib3d", (void *)glVertexAttrib3d, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIB3DPROC glad_debug_glVertexAttrib3d = glad_debug_impl_glVertexAttrib3d; +PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +void APIENTRY glad_debug_impl_glVertexAttrib3dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttrib3dv", (void *)glVertexAttrib3dv, 2, arg0, arg1); + glad_glVertexAttrib3dv(arg0, arg1); + _post_call_callback("glVertexAttrib3dv", (void *)glVertexAttrib3dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB3DVPROC glad_debug_glVertexAttrib3dv = glad_debug_impl_glVertexAttrib3dv; +PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +void APIENTRY glad_debug_impl_glVertexAttrib3f(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glVertexAttrib3f", (void *)glVertexAttrib3f, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttrib3f(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttrib3f", (void *)glVertexAttrib3f, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIB3FPROC glad_debug_glVertexAttrib3f = glad_debug_impl_glVertexAttrib3f; +PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +void APIENTRY glad_debug_impl_glVertexAttrib3fv(GLuint arg0, const GLfloat *arg1) { + _pre_call_callback("glVertexAttrib3fv", (void *)glVertexAttrib3fv, 2, arg0, arg1); + glad_glVertexAttrib3fv(arg0, arg1); + _post_call_callback("glVertexAttrib3fv", (void *)glVertexAttrib3fv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB3FVPROC glad_debug_glVertexAttrib3fv = glad_debug_impl_glVertexAttrib3fv; +PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +void APIENTRY glad_debug_impl_glVertexAttrib3s(GLuint arg0, GLshort arg1, GLshort arg2, GLshort arg3) { + _pre_call_callback("glVertexAttrib3s", (void *)glVertexAttrib3s, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttrib3s(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttrib3s", (void *)glVertexAttrib3s, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIB3SPROC glad_debug_glVertexAttrib3s = glad_debug_impl_glVertexAttrib3s; +PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +void APIENTRY glad_debug_impl_glVertexAttrib3sv(GLuint arg0, const GLshort *arg1) { + _pre_call_callback("glVertexAttrib3sv", (void *)glVertexAttrib3sv, 2, arg0, arg1); + glad_glVertexAttrib3sv(arg0, arg1); + _post_call_callback("glVertexAttrib3sv", (void *)glVertexAttrib3sv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB3SVPROC glad_debug_glVertexAttrib3sv = glad_debug_impl_glVertexAttrib3sv; +PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nbv(GLuint arg0, const GLbyte *arg1) { + _pre_call_callback("glVertexAttrib4Nbv", (void *)glVertexAttrib4Nbv, 2, arg0, arg1); + glad_glVertexAttrib4Nbv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nbv", (void *)glVertexAttrib4Nbv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4NBVPROC glad_debug_glVertexAttrib4Nbv = glad_debug_impl_glVertexAttrib4Nbv; +PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +void APIENTRY glad_debug_impl_glVertexAttrib4Niv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glVertexAttrib4Niv", (void *)glVertexAttrib4Niv, 2, arg0, arg1); + glad_glVertexAttrib4Niv(arg0, arg1); + _post_call_callback("glVertexAttrib4Niv", (void *)glVertexAttrib4Niv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4NIVPROC glad_debug_glVertexAttrib4Niv = glad_debug_impl_glVertexAttrib4Niv; +PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nsv(GLuint arg0, const GLshort *arg1) { + _pre_call_callback("glVertexAttrib4Nsv", (void *)glVertexAttrib4Nsv, 2, arg0, arg1); + glad_glVertexAttrib4Nsv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nsv", (void *)glVertexAttrib4Nsv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4NSVPROC glad_debug_glVertexAttrib4Nsv = glad_debug_impl_glVertexAttrib4Nsv; +PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +void APIENTRY glad_debug_impl_glVertexAttrib4Nub(GLuint arg0, GLubyte arg1, GLubyte arg2, GLubyte arg3, GLubyte arg4) { + _pre_call_callback("glVertexAttrib4Nub", (void *)glVertexAttrib4Nub, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4Nub(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4Nub", (void *)glVertexAttrib4Nub, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIB4NUBPROC glad_debug_glVertexAttrib4Nub = glad_debug_impl_glVertexAttrib4Nub; +PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nubv(GLuint arg0, const GLubyte *arg1) { + _pre_call_callback("glVertexAttrib4Nubv", (void *)glVertexAttrib4Nubv, 2, arg0, arg1); + glad_glVertexAttrib4Nubv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nubv", (void *)glVertexAttrib4Nubv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4NUBVPROC glad_debug_glVertexAttrib4Nubv = glad_debug_impl_glVertexAttrib4Nubv; +PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nuiv(GLuint arg0, const GLuint *arg1) { + _pre_call_callback("glVertexAttrib4Nuiv", (void *)glVertexAttrib4Nuiv, 2, arg0, arg1); + glad_glVertexAttrib4Nuiv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nuiv", (void *)glVertexAttrib4Nuiv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4NUIVPROC glad_debug_glVertexAttrib4Nuiv = glad_debug_impl_glVertexAttrib4Nuiv; +PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nusv(GLuint arg0, const GLushort *arg1) { + _pre_call_callback("glVertexAttrib4Nusv", (void *)glVertexAttrib4Nusv, 2, arg0, arg1); + glad_glVertexAttrib4Nusv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nusv", (void *)glVertexAttrib4Nusv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4NUSVPROC glad_debug_glVertexAttrib4Nusv = glad_debug_impl_glVertexAttrib4Nusv; +PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +void APIENTRY glad_debug_impl_glVertexAttrib4bv(GLuint arg0, const GLbyte *arg1) { + _pre_call_callback("glVertexAttrib4bv", (void *)glVertexAttrib4bv, 2, arg0, arg1); + glad_glVertexAttrib4bv(arg0, arg1); + _post_call_callback("glVertexAttrib4bv", (void *)glVertexAttrib4bv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4BVPROC glad_debug_glVertexAttrib4bv = glad_debug_impl_glVertexAttrib4bv; +PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +void APIENTRY glad_debug_impl_glVertexAttrib4d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3, + GLdouble arg4) { + _pre_call_callback("glVertexAttrib4d", (void *)glVertexAttrib4d, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4d(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4d", (void *)glVertexAttrib4d, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIB4DPROC glad_debug_glVertexAttrib4d = glad_debug_impl_glVertexAttrib4d; +PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +void APIENTRY glad_debug_impl_glVertexAttrib4dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttrib4dv", (void *)glVertexAttrib4dv, 2, arg0, arg1); + glad_glVertexAttrib4dv(arg0, arg1); + _post_call_callback("glVertexAttrib4dv", (void *)glVertexAttrib4dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4DVPROC glad_debug_glVertexAttrib4dv = glad_debug_impl_glVertexAttrib4dv; +PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +void APIENTRY glad_debug_impl_glVertexAttrib4f(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + _pre_call_callback("glVertexAttrib4f", (void *)glVertexAttrib4f, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4f(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4f", (void *)glVertexAttrib4f, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIB4FPROC glad_debug_glVertexAttrib4f = glad_debug_impl_glVertexAttrib4f; +PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +void APIENTRY glad_debug_impl_glVertexAttrib4fv(GLuint arg0, const GLfloat *arg1) { + _pre_call_callback("glVertexAttrib4fv", (void *)glVertexAttrib4fv, 2, arg0, arg1); + glad_glVertexAttrib4fv(arg0, arg1); + _post_call_callback("glVertexAttrib4fv", (void *)glVertexAttrib4fv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4FVPROC glad_debug_glVertexAttrib4fv = glad_debug_impl_glVertexAttrib4fv; +PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +void APIENTRY glad_debug_impl_glVertexAttrib4iv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glVertexAttrib4iv", (void *)glVertexAttrib4iv, 2, arg0, arg1); + glad_glVertexAttrib4iv(arg0, arg1); + _post_call_callback("glVertexAttrib4iv", (void *)glVertexAttrib4iv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4IVPROC glad_debug_glVertexAttrib4iv = glad_debug_impl_glVertexAttrib4iv; +PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +void APIENTRY glad_debug_impl_glVertexAttrib4s(GLuint arg0, GLshort arg1, GLshort arg2, GLshort arg3, GLshort arg4) { + _pre_call_callback("glVertexAttrib4s", (void *)glVertexAttrib4s, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4s(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4s", (void *)glVertexAttrib4s, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIB4SPROC glad_debug_glVertexAttrib4s = glad_debug_impl_glVertexAttrib4s; +PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +void APIENTRY glad_debug_impl_glVertexAttrib4sv(GLuint arg0, const GLshort *arg1) { + _pre_call_callback("glVertexAttrib4sv", (void *)glVertexAttrib4sv, 2, arg0, arg1); + glad_glVertexAttrib4sv(arg0, arg1); + _post_call_callback("glVertexAttrib4sv", (void *)glVertexAttrib4sv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4SVPROC glad_debug_glVertexAttrib4sv = glad_debug_impl_glVertexAttrib4sv; +PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +void APIENTRY glad_debug_impl_glVertexAttrib4ubv(GLuint arg0, const GLubyte *arg1) { + _pre_call_callback("glVertexAttrib4ubv", (void *)glVertexAttrib4ubv, 2, arg0, arg1); + glad_glVertexAttrib4ubv(arg0, arg1); + _post_call_callback("glVertexAttrib4ubv", (void *)glVertexAttrib4ubv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4UBVPROC glad_debug_glVertexAttrib4ubv = glad_debug_impl_glVertexAttrib4ubv; +PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +void APIENTRY glad_debug_impl_glVertexAttrib4uiv(GLuint arg0, const GLuint *arg1) { + _pre_call_callback("glVertexAttrib4uiv", (void *)glVertexAttrib4uiv, 2, arg0, arg1); + glad_glVertexAttrib4uiv(arg0, arg1); + _post_call_callback("glVertexAttrib4uiv", (void *)glVertexAttrib4uiv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4UIVPROC glad_debug_glVertexAttrib4uiv = glad_debug_impl_glVertexAttrib4uiv; +PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +void APIENTRY glad_debug_impl_glVertexAttrib4usv(GLuint arg0, const GLushort *arg1) { + _pre_call_callback("glVertexAttrib4usv", (void *)glVertexAttrib4usv, 2, arg0, arg1); + glad_glVertexAttrib4usv(arg0, arg1); + _post_call_callback("glVertexAttrib4usv", (void *)glVertexAttrib4usv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIB4USVPROC glad_debug_glVertexAttrib4usv = glad_debug_impl_glVertexAttrib4usv; +PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding; +void APIENTRY glad_debug_impl_glVertexAttribBinding(GLuint arg0, GLuint arg1) { + _pre_call_callback("glVertexAttribBinding", (void *)glVertexAttribBinding, 2, arg0, arg1); + glad_glVertexAttribBinding(arg0, arg1); + _post_call_callback("glVertexAttribBinding", (void *)glVertexAttribBinding, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBBINDINGPROC glad_debug_glVertexAttribBinding = glad_debug_impl_glVertexAttribBinding; +PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +void APIENTRY glad_debug_impl_glVertexAttribDivisor(GLuint arg0, GLuint arg1) { + _pre_call_callback("glVertexAttribDivisor", (void *)glVertexAttribDivisor, 2, arg0, arg1); + glad_glVertexAttribDivisor(arg0, arg1); + _post_call_callback("glVertexAttribDivisor", (void *)glVertexAttribDivisor, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBDIVISORPROC glad_debug_glVertexAttribDivisor = glad_debug_impl_glVertexAttribDivisor; +PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat; +void APIENTRY glad_debug_impl_glVertexAttribFormat(GLuint arg0, GLint arg1, GLenum arg2, GLboolean arg3, GLuint arg4) { + _pre_call_callback("glVertexAttribFormat", (void *)glVertexAttribFormat, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribFormat(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribFormat", (void *)glVertexAttribFormat, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIBFORMATPROC glad_debug_glVertexAttribFormat = glad_debug_impl_glVertexAttribFormat; +PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +void APIENTRY glad_debug_impl_glVertexAttribI1i(GLuint arg0, GLint arg1) { + _pre_call_callback("glVertexAttribI1i", (void *)glVertexAttribI1i, 2, arg0, arg1); + glad_glVertexAttribI1i(arg0, arg1); + _post_call_callback("glVertexAttribI1i", (void *)glVertexAttribI1i, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI1IPROC glad_debug_glVertexAttribI1i = glad_debug_impl_glVertexAttribI1i; +PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +void APIENTRY glad_debug_impl_glVertexAttribI1iv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glVertexAttribI1iv", (void *)glVertexAttribI1iv, 2, arg0, arg1); + glad_glVertexAttribI1iv(arg0, arg1); + _post_call_callback("glVertexAttribI1iv", (void *)glVertexAttribI1iv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI1IVPROC glad_debug_glVertexAttribI1iv = glad_debug_impl_glVertexAttribI1iv; +PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +void APIENTRY glad_debug_impl_glVertexAttribI1ui(GLuint arg0, GLuint arg1) { + _pre_call_callback("glVertexAttribI1ui", (void *)glVertexAttribI1ui, 2, arg0, arg1); + glad_glVertexAttribI1ui(arg0, arg1); + _post_call_callback("glVertexAttribI1ui", (void *)glVertexAttribI1ui, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI1UIPROC glad_debug_glVertexAttribI1ui = glad_debug_impl_glVertexAttribI1ui; +PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +void APIENTRY glad_debug_impl_glVertexAttribI1uiv(GLuint arg0, const GLuint *arg1) { + _pre_call_callback("glVertexAttribI1uiv", (void *)glVertexAttribI1uiv, 2, arg0, arg1); + glad_glVertexAttribI1uiv(arg0, arg1); + _post_call_callback("glVertexAttribI1uiv", (void *)glVertexAttribI1uiv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI1UIVPROC glad_debug_glVertexAttribI1uiv = glad_debug_impl_glVertexAttribI1uiv; +PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +void APIENTRY glad_debug_impl_glVertexAttribI2i(GLuint arg0, GLint arg1, GLint arg2) { + _pre_call_callback("glVertexAttribI2i", (void *)glVertexAttribI2i, 3, arg0, arg1, arg2); + glad_glVertexAttribI2i(arg0, arg1, arg2); + _post_call_callback("glVertexAttribI2i", (void *)glVertexAttribI2i, 3, arg0, arg1, arg2); +} +PFNGLVERTEXATTRIBI2IPROC glad_debug_glVertexAttribI2i = glad_debug_impl_glVertexAttribI2i; +PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +void APIENTRY glad_debug_impl_glVertexAttribI2iv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glVertexAttribI2iv", (void *)glVertexAttribI2iv, 2, arg0, arg1); + glad_glVertexAttribI2iv(arg0, arg1); + _post_call_callback("glVertexAttribI2iv", (void *)glVertexAttribI2iv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI2IVPROC glad_debug_glVertexAttribI2iv = glad_debug_impl_glVertexAttribI2iv; +PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +void APIENTRY glad_debug_impl_glVertexAttribI2ui(GLuint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glVertexAttribI2ui", (void *)glVertexAttribI2ui, 3, arg0, arg1, arg2); + glad_glVertexAttribI2ui(arg0, arg1, arg2); + _post_call_callback("glVertexAttribI2ui", (void *)glVertexAttribI2ui, 3, arg0, arg1, arg2); +} +PFNGLVERTEXATTRIBI2UIPROC glad_debug_glVertexAttribI2ui = glad_debug_impl_glVertexAttribI2ui; +PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +void APIENTRY glad_debug_impl_glVertexAttribI2uiv(GLuint arg0, const GLuint *arg1) { + _pre_call_callback("glVertexAttribI2uiv", (void *)glVertexAttribI2uiv, 2, arg0, arg1); + glad_glVertexAttribI2uiv(arg0, arg1); + _post_call_callback("glVertexAttribI2uiv", (void *)glVertexAttribI2uiv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI2UIVPROC glad_debug_glVertexAttribI2uiv = glad_debug_impl_glVertexAttribI2uiv; +PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +void APIENTRY glad_debug_impl_glVertexAttribI3i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3) { + _pre_call_callback("glVertexAttribI3i", (void *)glVertexAttribI3i, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribI3i(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribI3i", (void *)glVertexAttribI3i, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBI3IPROC glad_debug_glVertexAttribI3i = glad_debug_impl_glVertexAttribI3i; +PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +void APIENTRY glad_debug_impl_glVertexAttribI3iv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glVertexAttribI3iv", (void *)glVertexAttribI3iv, 2, arg0, arg1); + glad_glVertexAttribI3iv(arg0, arg1); + _post_call_callback("glVertexAttribI3iv", (void *)glVertexAttribI3iv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI3IVPROC glad_debug_glVertexAttribI3iv = glad_debug_impl_glVertexAttribI3iv; +PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +void APIENTRY glad_debug_impl_glVertexAttribI3ui(GLuint arg0, GLuint arg1, GLuint arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribI3ui", (void *)glVertexAttribI3ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribI3ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribI3ui", (void *)glVertexAttribI3ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBI3UIPROC glad_debug_glVertexAttribI3ui = glad_debug_impl_glVertexAttribI3ui; +PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +void APIENTRY glad_debug_impl_glVertexAttribI3uiv(GLuint arg0, const GLuint *arg1) { + _pre_call_callback("glVertexAttribI3uiv", (void *)glVertexAttribI3uiv, 2, arg0, arg1); + glad_glVertexAttribI3uiv(arg0, arg1); + _post_call_callback("glVertexAttribI3uiv", (void *)glVertexAttribI3uiv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI3UIVPROC glad_debug_glVertexAttribI3uiv = glad_debug_impl_glVertexAttribI3uiv; +PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +void APIENTRY glad_debug_impl_glVertexAttribI4bv(GLuint arg0, const GLbyte *arg1) { + _pre_call_callback("glVertexAttribI4bv", (void *)glVertexAttribI4bv, 2, arg0, arg1); + glad_glVertexAttribI4bv(arg0, arg1); + _post_call_callback("glVertexAttribI4bv", (void *)glVertexAttribI4bv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI4BVPROC glad_debug_glVertexAttribI4bv = glad_debug_impl_glVertexAttribI4bv; +PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +void APIENTRY glad_debug_impl_glVertexAttribI4i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glVertexAttribI4i", (void *)glVertexAttribI4i, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribI4i(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribI4i", (void *)glVertexAttribI4i, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIBI4IPROC glad_debug_glVertexAttribI4i = glad_debug_impl_glVertexAttribI4i; +PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +void APIENTRY glad_debug_impl_glVertexAttribI4iv(GLuint arg0, const GLint *arg1) { + _pre_call_callback("glVertexAttribI4iv", (void *)glVertexAttribI4iv, 2, arg0, arg1); + glad_glVertexAttribI4iv(arg0, arg1); + _post_call_callback("glVertexAttribI4iv", (void *)glVertexAttribI4iv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI4IVPROC glad_debug_glVertexAttribI4iv = glad_debug_impl_glVertexAttribI4iv; +PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +void APIENTRY glad_debug_impl_glVertexAttribI4sv(GLuint arg0, const GLshort *arg1) { + _pre_call_callback("glVertexAttribI4sv", (void *)glVertexAttribI4sv, 2, arg0, arg1); + glad_glVertexAttribI4sv(arg0, arg1); + _post_call_callback("glVertexAttribI4sv", (void *)glVertexAttribI4sv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI4SVPROC glad_debug_glVertexAttribI4sv = glad_debug_impl_glVertexAttribI4sv; +PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +void APIENTRY glad_debug_impl_glVertexAttribI4ubv(GLuint arg0, const GLubyte *arg1) { + _pre_call_callback("glVertexAttribI4ubv", (void *)glVertexAttribI4ubv, 2, arg0, arg1); + glad_glVertexAttribI4ubv(arg0, arg1); + _post_call_callback("glVertexAttribI4ubv", (void *)glVertexAttribI4ubv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI4UBVPROC glad_debug_glVertexAttribI4ubv = glad_debug_impl_glVertexAttribI4ubv; +PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +void APIENTRY glad_debug_impl_glVertexAttribI4ui(GLuint arg0, GLuint arg1, GLuint arg2, GLuint arg3, GLuint arg4) { + _pre_call_callback("glVertexAttribI4ui", (void *)glVertexAttribI4ui, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribI4ui(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribI4ui", (void *)glVertexAttribI4ui, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIBI4UIPROC glad_debug_glVertexAttribI4ui = glad_debug_impl_glVertexAttribI4ui; +PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +void APIENTRY glad_debug_impl_glVertexAttribI4uiv(GLuint arg0, const GLuint *arg1) { + _pre_call_callback("glVertexAttribI4uiv", (void *)glVertexAttribI4uiv, 2, arg0, arg1); + glad_glVertexAttribI4uiv(arg0, arg1); + _post_call_callback("glVertexAttribI4uiv", (void *)glVertexAttribI4uiv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI4UIVPROC glad_debug_glVertexAttribI4uiv = glad_debug_impl_glVertexAttribI4uiv; +PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +void APIENTRY glad_debug_impl_glVertexAttribI4usv(GLuint arg0, const GLushort *arg1) { + _pre_call_callback("glVertexAttribI4usv", (void *)glVertexAttribI4usv, 2, arg0, arg1); + glad_glVertexAttribI4usv(arg0, arg1); + _post_call_callback("glVertexAttribI4usv", (void *)glVertexAttribI4usv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBI4USVPROC glad_debug_glVertexAttribI4usv = glad_debug_impl_glVertexAttribI4usv; +PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat; +void APIENTRY glad_debug_impl_glVertexAttribIFormat(GLuint arg0, GLint arg1, GLenum arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribIFormat", (void *)glVertexAttribIFormat, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribIFormat(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribIFormat", (void *)glVertexAttribIFormat, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBIFORMATPROC glad_debug_glVertexAttribIFormat = glad_debug_impl_glVertexAttribIFormat; +PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +void APIENTRY glad_debug_impl_glVertexAttribIPointer(GLuint arg0, GLint arg1, GLenum arg2, GLsizei arg3, + const void *arg4) { + _pre_call_callback("glVertexAttribIPointer", (void *)glVertexAttribIPointer, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribIPointer(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribIPointer", (void *)glVertexAttribIPointer, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIBIPOINTERPROC glad_debug_glVertexAttribIPointer = glad_debug_impl_glVertexAttribIPointer; +PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d; +void APIENTRY glad_debug_impl_glVertexAttribL1d(GLuint arg0, GLdouble arg1) { + _pre_call_callback("glVertexAttribL1d", (void *)glVertexAttribL1d, 2, arg0, arg1); + glad_glVertexAttribL1d(arg0, arg1); + _post_call_callback("glVertexAttribL1d", (void *)glVertexAttribL1d, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBL1DPROC glad_debug_glVertexAttribL1d = glad_debug_impl_glVertexAttribL1d; +PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv; +void APIENTRY glad_debug_impl_glVertexAttribL1dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttribL1dv", (void *)glVertexAttribL1dv, 2, arg0, arg1); + glad_glVertexAttribL1dv(arg0, arg1); + _post_call_callback("glVertexAttribL1dv", (void *)glVertexAttribL1dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBL1DVPROC glad_debug_glVertexAttribL1dv = glad_debug_impl_glVertexAttribL1dv; +PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d; +void APIENTRY glad_debug_impl_glVertexAttribL2d(GLuint arg0, GLdouble arg1, GLdouble arg2) { + _pre_call_callback("glVertexAttribL2d", (void *)glVertexAttribL2d, 3, arg0, arg1, arg2); + glad_glVertexAttribL2d(arg0, arg1, arg2); + _post_call_callback("glVertexAttribL2d", (void *)glVertexAttribL2d, 3, arg0, arg1, arg2); +} +PFNGLVERTEXATTRIBL2DPROC glad_debug_glVertexAttribL2d = glad_debug_impl_glVertexAttribL2d; +PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv; +void APIENTRY glad_debug_impl_glVertexAttribL2dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttribL2dv", (void *)glVertexAttribL2dv, 2, arg0, arg1); + glad_glVertexAttribL2dv(arg0, arg1); + _post_call_callback("glVertexAttribL2dv", (void *)glVertexAttribL2dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBL2DVPROC glad_debug_glVertexAttribL2dv = glad_debug_impl_glVertexAttribL2dv; +PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d; +void APIENTRY glad_debug_impl_glVertexAttribL3d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3) { + _pre_call_callback("glVertexAttribL3d", (void *)glVertexAttribL3d, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribL3d(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribL3d", (void *)glVertexAttribL3d, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBL3DPROC glad_debug_glVertexAttribL3d = glad_debug_impl_glVertexAttribL3d; +PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv; +void APIENTRY glad_debug_impl_glVertexAttribL3dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttribL3dv", (void *)glVertexAttribL3dv, 2, arg0, arg1); + glad_glVertexAttribL3dv(arg0, arg1); + _post_call_callback("glVertexAttribL3dv", (void *)glVertexAttribL3dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBL3DVPROC glad_debug_glVertexAttribL3dv = glad_debug_impl_glVertexAttribL3dv; +PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d; +void APIENTRY glad_debug_impl_glVertexAttribL4d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3, + GLdouble arg4) { + _pre_call_callback("glVertexAttribL4d", (void *)glVertexAttribL4d, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribL4d(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribL4d", (void *)glVertexAttribL4d, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIBL4DPROC glad_debug_glVertexAttribL4d = glad_debug_impl_glVertexAttribL4d; +PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv; +void APIENTRY glad_debug_impl_glVertexAttribL4dv(GLuint arg0, const GLdouble *arg1) { + _pre_call_callback("glVertexAttribL4dv", (void *)glVertexAttribL4dv, 2, arg0, arg1); + glad_glVertexAttribL4dv(arg0, arg1); + _post_call_callback("glVertexAttribL4dv", (void *)glVertexAttribL4dv, 2, arg0, arg1); +} +PFNGLVERTEXATTRIBL4DVPROC glad_debug_glVertexAttribL4dv = glad_debug_impl_glVertexAttribL4dv; +PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat; +void APIENTRY glad_debug_impl_glVertexAttribLFormat(GLuint arg0, GLint arg1, GLenum arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribLFormat", (void *)glVertexAttribLFormat, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribLFormat(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribLFormat", (void *)glVertexAttribLFormat, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBLFORMATPROC glad_debug_glVertexAttribLFormat = glad_debug_impl_glVertexAttribLFormat; +PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer; +void APIENTRY glad_debug_impl_glVertexAttribLPointer(GLuint arg0, GLint arg1, GLenum arg2, GLsizei arg3, + const void *arg4) { + _pre_call_callback("glVertexAttribLPointer", (void *)glVertexAttribLPointer, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribLPointer(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribLPointer", (void *)glVertexAttribLPointer, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVERTEXATTRIBLPOINTERPROC glad_debug_glVertexAttribLPointer = glad_debug_impl_glVertexAttribLPointer; +PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +void APIENTRY glad_debug_impl_glVertexAttribP1ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP1ui", (void *)glVertexAttribP1ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP1ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP1ui", (void *)glVertexAttribP1ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP1UIPROC glad_debug_glVertexAttribP1ui = glad_debug_impl_glVertexAttribP1ui; +PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +void APIENTRY glad_debug_impl_glVertexAttribP1uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint *arg3) { + _pre_call_callback("glVertexAttribP1uiv", (void *)glVertexAttribP1uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP1uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP1uiv", (void *)glVertexAttribP1uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP1UIVPROC glad_debug_glVertexAttribP1uiv = glad_debug_impl_glVertexAttribP1uiv; +PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +void APIENTRY glad_debug_impl_glVertexAttribP2ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP2ui", (void *)glVertexAttribP2ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP2ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP2ui", (void *)glVertexAttribP2ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP2UIPROC glad_debug_glVertexAttribP2ui = glad_debug_impl_glVertexAttribP2ui; +PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +void APIENTRY glad_debug_impl_glVertexAttribP2uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint *arg3) { + _pre_call_callback("glVertexAttribP2uiv", (void *)glVertexAttribP2uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP2uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP2uiv", (void *)glVertexAttribP2uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP2UIVPROC glad_debug_glVertexAttribP2uiv = glad_debug_impl_glVertexAttribP2uiv; +PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +void APIENTRY glad_debug_impl_glVertexAttribP3ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP3ui", (void *)glVertexAttribP3ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP3ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP3ui", (void *)glVertexAttribP3ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP3UIPROC glad_debug_glVertexAttribP3ui = glad_debug_impl_glVertexAttribP3ui; +PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +void APIENTRY glad_debug_impl_glVertexAttribP3uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint *arg3) { + _pre_call_callback("glVertexAttribP3uiv", (void *)glVertexAttribP3uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP3uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP3uiv", (void *)glVertexAttribP3uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP3UIVPROC glad_debug_glVertexAttribP3uiv = glad_debug_impl_glVertexAttribP3uiv; +PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +void APIENTRY glad_debug_impl_glVertexAttribP4ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP4ui", (void *)glVertexAttribP4ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP4ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP4ui", (void *)glVertexAttribP4ui, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP4UIPROC glad_debug_glVertexAttribP4ui = glad_debug_impl_glVertexAttribP4ui; +PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +void APIENTRY glad_debug_impl_glVertexAttribP4uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint *arg3) { + _pre_call_callback("glVertexAttribP4uiv", (void *)glVertexAttribP4uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP4uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP4uiv", (void *)glVertexAttribP4uiv, 4, arg0, arg1, arg2, arg3); +} +PFNGLVERTEXATTRIBP4UIVPROC glad_debug_glVertexAttribP4uiv = glad_debug_impl_glVertexAttribP4uiv; +PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +void APIENTRY glad_debug_impl_glVertexAttribPointer(GLuint arg0, GLint arg1, GLenum arg2, GLboolean arg3, GLsizei arg4, + const void *arg5) { + _pre_call_callback("glVertexAttribPointer", (void *)glVertexAttribPointer, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glVertexAttribPointer(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glVertexAttribPointer", (void *)glVertexAttribPointer, 6, arg0, arg1, arg2, arg3, arg4, arg5); +} +PFNGLVERTEXATTRIBPOINTERPROC glad_debug_glVertexAttribPointer = glad_debug_impl_glVertexAttribPointer; +PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor; +void APIENTRY glad_debug_impl_glVertexBindingDivisor(GLuint arg0, GLuint arg1) { + _pre_call_callback("glVertexBindingDivisor", (void *)glVertexBindingDivisor, 2, arg0, arg1); + glad_glVertexBindingDivisor(arg0, arg1); + _post_call_callback("glVertexBindingDivisor", (void *)glVertexBindingDivisor, 2, arg0, arg1); +} +PFNGLVERTEXBINDINGDIVISORPROC glad_debug_glVertexBindingDivisor = glad_debug_impl_glVertexBindingDivisor; +PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +void APIENTRY glad_debug_impl_glVertexP2ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glVertexP2ui", (void *)glVertexP2ui, 2, arg0, arg1); + glad_glVertexP2ui(arg0, arg1); + _post_call_callback("glVertexP2ui", (void *)glVertexP2ui, 2, arg0, arg1); +} +PFNGLVERTEXP2UIPROC glad_debug_glVertexP2ui = glad_debug_impl_glVertexP2ui; +PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +void APIENTRY glad_debug_impl_glVertexP2uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glVertexP2uiv", (void *)glVertexP2uiv, 2, arg0, arg1); + glad_glVertexP2uiv(arg0, arg1); + _post_call_callback("glVertexP2uiv", (void *)glVertexP2uiv, 2, arg0, arg1); +} +PFNGLVERTEXP2UIVPROC glad_debug_glVertexP2uiv = glad_debug_impl_glVertexP2uiv; +PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +void APIENTRY glad_debug_impl_glVertexP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glVertexP3ui", (void *)glVertexP3ui, 2, arg0, arg1); + glad_glVertexP3ui(arg0, arg1); + _post_call_callback("glVertexP3ui", (void *)glVertexP3ui, 2, arg0, arg1); +} +PFNGLVERTEXP3UIPROC glad_debug_glVertexP3ui = glad_debug_impl_glVertexP3ui; +PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +void APIENTRY glad_debug_impl_glVertexP3uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glVertexP3uiv", (void *)glVertexP3uiv, 2, arg0, arg1); + glad_glVertexP3uiv(arg0, arg1); + _post_call_callback("glVertexP3uiv", (void *)glVertexP3uiv, 2, arg0, arg1); +} +PFNGLVERTEXP3UIVPROC glad_debug_glVertexP3uiv = glad_debug_impl_glVertexP3uiv; +PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +void APIENTRY glad_debug_impl_glVertexP4ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glVertexP4ui", (void *)glVertexP4ui, 2, arg0, arg1); + glad_glVertexP4ui(arg0, arg1); + _post_call_callback("glVertexP4ui", (void *)glVertexP4ui, 2, arg0, arg1); +} +PFNGLVERTEXP4UIPROC glad_debug_glVertexP4ui = glad_debug_impl_glVertexP4ui; +PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +void APIENTRY glad_debug_impl_glVertexP4uiv(GLenum arg0, const GLuint *arg1) { + _pre_call_callback("glVertexP4uiv", (void *)glVertexP4uiv, 2, arg0, arg1); + glad_glVertexP4uiv(arg0, arg1); + _post_call_callback("glVertexP4uiv", (void *)glVertexP4uiv, 2, arg0, arg1); +} +PFNGLVERTEXP4UIVPROC glad_debug_glVertexP4uiv = glad_debug_impl_glVertexP4uiv; +PFNGLVIEWPORTPROC glad_glViewport; +void APIENTRY glad_debug_impl_glViewport(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glViewport", (void *)glViewport, 4, arg0, arg1, arg2, arg3); + glad_glViewport(arg0, arg1, arg2, arg3); + _post_call_callback("glViewport", (void *)glViewport, 4, arg0, arg1, arg2, arg3); +} +PFNGLVIEWPORTPROC glad_debug_glViewport = glad_debug_impl_glViewport; +PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv; +void APIENTRY glad_debug_impl_glViewportArrayv(GLuint arg0, GLsizei arg1, const GLfloat *arg2) { + _pre_call_callback("glViewportArrayv", (void *)glViewportArrayv, 3, arg0, arg1, arg2); + glad_glViewportArrayv(arg0, arg1, arg2); + _post_call_callback("glViewportArrayv", (void *)glViewportArrayv, 3, arg0, arg1, arg2); +} +PFNGLVIEWPORTARRAYVPROC glad_debug_glViewportArrayv = glad_debug_impl_glViewportArrayv; +PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf; +void APIENTRY glad_debug_impl_glViewportIndexedf(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + _pre_call_callback("glViewportIndexedf", (void *)glViewportIndexedf, 5, arg0, arg1, arg2, arg3, arg4); + glad_glViewportIndexedf(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glViewportIndexedf", (void *)glViewportIndexedf, 5, arg0, arg1, arg2, arg3, arg4); +} +PFNGLVIEWPORTINDEXEDFPROC glad_debug_glViewportIndexedf = glad_debug_impl_glViewportIndexedf; +PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv; +void APIENTRY glad_debug_impl_glViewportIndexedfv(GLuint arg0, const GLfloat *arg1) { + _pre_call_callback("glViewportIndexedfv", (void *)glViewportIndexedfv, 2, arg0, arg1); + glad_glViewportIndexedfv(arg0, arg1); + _post_call_callback("glViewportIndexedfv", (void *)glViewportIndexedfv, 2, arg0, arg1); +} +PFNGLVIEWPORTINDEXEDFVPROC glad_debug_glViewportIndexedfv = glad_debug_impl_glViewportIndexedfv; +PFNGLWAITSYNCPROC glad_glWaitSync; +void APIENTRY glad_debug_impl_glWaitSync(GLsync arg0, GLbitfield arg1, GLuint64 arg2) { + _pre_call_callback("glWaitSync", (void *)glWaitSync, 3, arg0, arg1, arg2); + glad_glWaitSync(arg0, arg1, arg2); + _post_call_callback("glWaitSync", (void *)glWaitSync, 3, arg0, arg1, arg2); +} +PFNGLWAITSYNCPROC glad_debug_glWaitSync = glad_debug_impl_glWaitSync; static void load_GL_VERSION_1_0(GLADloadproc load) { if (!GLAD_GL_VERSION_1_0) return; glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); diff --git a/include/Gedeng/Camera.h b/include/Gedeng/Camera.h index fdd71c4..731f45b 100644 --- a/include/Gedeng/Camera.h +++ b/include/Gedeng/Camera.h @@ -16,11 +16,11 @@ class Camera : public Spatial { : projection(glm::perspective(glm::radians(fov), width / height, near, far)) { } - glm::mat4 get_projection() { + glm::mat4 get_projection() const { return projection; } - glm::mat4 get_view() { + glm::mat4 get_view() const { return glm::inverse(get_matrix()); } @@ -28,4 +28,4 @@ class Camera : public Spatial { glm::mat4 projection; }; -} \ No newline at end of file +} // namespace Gedeng \ No newline at end of file diff --git a/include/Gedeng/ParticleSystem.h b/include/Gedeng/ParticleSystem.h new file mode 100644 index 0000000..d9cf5b4 --- /dev/null +++ b/include/Gedeng/ParticleSystem.h @@ -0,0 +1,85 @@ +#pragma once + +// Must be the first include +#include + +// Other includes +#include "Gedeng/Camera.h" +#include "Gedeng/Shader.h" +#include +#include + +namespace Gedeng { + +class ParticleSystem { + public: + enum { PARTICLE_TYPE_GENERATOR = 0, PARTICLE_TYPE_NORMAL = 1 }; + + ParticleSystem(); + + void render(); + + void update(float delta); + + void set_position(glm::vec3 position); + void set_velocity(glm::vec3 min, glm::vec3 max); + void set_gravity(glm::vec3 gravity); + void set_color(glm::vec3 color); + void set_lifetime(float min, float max); + void set_size(float size); + void set_interval(float interval); + void set_number_of_particles(int number); + + void clear(); + void release(); + + int get_particle_count(); + + void set_camera(const Camera &camera); + + private: + bool is_valid; + + GLuint transform_feedback_buffer; + + GLuint particle_buffer[2]; + GLuint vao[2]; + + GLuint query; + GLuint texture; + + int current_read_buffer; + int current_particle_count; + const int max_particle_count = 1000; // FIXME: Increase + + glm::mat4 projection_matrix, view_matrix; + glm::vec3 quad1, quad2; + + float elapsed_time; + float next_generation_time; + + glm::vec3 spawn_position; + glm::vec3 spawn_velocity_min, spawn_velocity_range; + glm::vec3 spawn_gravity_vector; + glm::vec3 spawn_color; + + float spawn_lifetime_min, spawn_lifetime_range; + float spawn_size; + + int target_particle_count; + + Shader render_shader; + Shader update_shader; + + class Particle { + public: + glm::vec3 position; + glm::vec3 velocity; + glm::vec3 color; + float lifetime; + float size; + int type; + }; +}; + +} // namespace Gedeng \ No newline at end of file diff --git a/include/Gedeng/Shader.h b/include/Gedeng/Shader.h index 5c44053..4b4d48b 100644 --- a/include/Gedeng/Shader.h +++ b/include/Gedeng/Shader.h @@ -17,82 +17,70 @@ namespace Gedeng { class Shader { + private: + unsigned int load_shader(const char *path, GLuint type) { + std::string code; + std::ifstream file; + + file.open(path); + std::stringstream shader_stream; + shader_stream << file.rdbuf(); + file.close(); + + code = shader_stream.str(); + const char *code_charptr = code.c_str(); + + unsigned int shader = glCreateShader(type); + glShaderSource(shader, 1, &code_charptr, NULL); + glCompileShader(shader); + checkCompileErrors(shader, "ANY"); + + return shader; + } + public: unsigned int ID; - // constructor generates the shader on the fly - // ------------------------------------------------------------------------ - Shader(const char *vertexPath, const char *fragmentPath, const char *geometryPath = nullptr) { - // 1. retrieve the vertex/fragment source code from filePath - std::string vertexCode; - std::string fragmentCode; - std::string geometryCode; - std::ifstream vShaderFile; - std::ifstream fShaderFile; - std::ifstream gShaderFile; - // ensure ifstream objects can throw exceptions: - vShaderFile.exceptions(std::ifstream::failbit | std::ifstream::badbit); - fShaderFile.exceptions(std::ifstream::failbit | std::ifstream::badbit); - gShaderFile.exceptions(std::ifstream::failbit | std::ifstream::badbit); - try { - // open files - vShaderFile.open(vertexPath); - fShaderFile.open(fragmentPath); - std::stringstream vShaderStream, fShaderStream; - // read file's buffer contents into streams - vShaderStream << vShaderFile.rdbuf(); - fShaderStream << fShaderFile.rdbuf(); - // close file handlers - vShaderFile.close(); - fShaderFile.close(); - // convert stream into string - vertexCode = vShaderStream.str(); - fragmentCode = fShaderStream.str(); - // if geometry shader path is present, also load a geometry shader - if (geometryPath != nullptr) { - gShaderFile.open(geometryPath); - std::stringstream gShaderStream; - gShaderStream << gShaderFile.rdbuf(); - gShaderFile.close(); - geometryCode = gShaderStream.str(); - } - } catch (std::ifstream::failure &e) { - std::cout << "ERROR::SHADER::FILE_NOT_SUCCESFULLY_READ" << std::endl; + + Shader() : ID(glCreateProgram()) { + } + + Shader(const char *vertex_path, const char *fragment_path, const char *geometry_path = nullptr) : Shader() { + add_vertex_shader(vertex_path); + add_fragment_shader(fragment_path); + if (geometry_path) add_geometry_shader(geometry_path); + + link(); + } + + void add_vertex_shader(const char *path) { + unsigned int shader = load_shader(path, GL_VERTEX_SHADER); + glAttachShader(ID, shader); + glDeleteShader(shader); + } + + void add_fragment_shader(const char *path) { + unsigned int shader = load_shader(path, GL_FRAGMENT_SHADER); + glAttachShader(ID, shader); + glDeleteShader(shader); + } + + void add_geometry_shader(const char *path) { + unsigned int shader = load_shader(path, GL_GEOMETRY_SHADER); + glAttachShader(ID, shader); + glDeleteShader(shader); + } + + void add_transform_feedback(const char **varyings, size_t varying_count) { + for (size_t i = 0; i < varying_count; i++) { // TODO: Is this loop required? + glTransformFeedbackVaryings(ID, varying_count, varyings, GL_INTERLEAVED_ATTRIBS); } - const char *vShaderCode = vertexCode.c_str(); - const char *fShaderCode = fragmentCode.c_str(); - // 2. compile shaders - unsigned int vertex, fragment; - // vertex shader - vertex = glCreateShader(GL_VERTEX_SHADER); - glShaderSource(vertex, 1, &vShaderCode, NULL); - glCompileShader(vertex); - checkCompileErrors(vertex, "VERTEX"); - // fragment Shader - fragment = glCreateShader(GL_FRAGMENT_SHADER); - glShaderSource(fragment, 1, &fShaderCode, NULL); - glCompileShader(fragment); - checkCompileErrors(fragment, "FRAGMENT"); - // if geometry shader is given, compile geometry shader - unsigned int geometry; - if (geometryPath != nullptr) { - const char *gShaderCode = geometryCode.c_str(); - geometry = glCreateShader(GL_GEOMETRY_SHADER); - glShaderSource(geometry, 1, &gShaderCode, NULL); - glCompileShader(geometry); - checkCompileErrors(geometry, "GEOMETRY"); - } - // shader Program - ID = glCreateProgram(); - glAttachShader(ID, vertex); - glAttachShader(ID, fragment); - if (geometryPath != nullptr) glAttachShader(ID, geometry); + } + + void link() { glLinkProgram(ID); checkCompileErrors(ID, "PROGRAM"); - // delete the shaders as they're linked into our program now and no longer necessery - glDeleteShader(vertex); - glDeleteShader(fragment); - if (geometryPath != nullptr) glDeleteShader(geometry); } + // activate the shader // ------------------------------------------------------------------------ void use() { diff --git a/include/Gedeng/Spatial.h b/include/Gedeng/Spatial.h index 0e9b1e2..f43db31 100644 --- a/include/Gedeng/Spatial.h +++ b/include/Gedeng/Spatial.h @@ -52,7 +52,7 @@ class Spatial { return origin; } - glm::mat4 get_matrix() { + glm::mat4 get_matrix() const { return matrix; } @@ -73,4 +73,4 @@ class Spatial { glm::vec3 origin = glm::vec3(0.0f, 0.0f, 0.0f); }; -} \ No newline at end of file +} // namespace Gedeng \ No newline at end of file