// GENERATED FILE - DO NOT EDIT. // Generated by generate_entry_points.py using data from gl.xml. // // Copyright 2017 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // entry_points_gles_2_0_autogen.cpp: // Defines the GLES 2.0 entry points. #include "libANGLE/Context.h" #include "libANGLE/validationES2.h" #include "libGLESv2/global_state.h" namespace gl { void GL_APIENTRY ActiveTexture(GLenum texture) { EVENT("(GLenum texture = 0x%X)", texture); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(texture); if (context->skipValidation() || ValidateActiveTexture(context, texture)) { context->activeTexture(texture); } } } void GL_APIENTRY AttachShader(GLuint program, GLuint shader) { EVENT("(GLuint program = %u, GLuint shader = %u)", program, shader); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, shader); if (context->skipValidation() || ValidateAttachShader(context, program, shader)) { context->attachShader(program, shader); } } } void GL_APIENTRY BindAttribLocation(GLuint program, GLuint index, const GLchar *name) { EVENT("(GLuint program = %u, GLuint index = %u, const GLchar *name = 0x%0.8p)", program, index, name); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, index, name); if (context->skipValidation() || ValidateBindAttribLocation(context, program, index, name)) { context->bindAttribLocation(program, index, name); } } } void GL_APIENTRY BindBuffer(GLenum target, GLuint buffer) { EVENT("(GLenum target = 0x%X, GLuint buffer = %u)", target, buffer); Context *context = GetValidGlobalContext(); if (context) { BufferBinding targetPacked = FromGLenum(target); context->gatherParams(targetPacked, buffer); if (context->skipValidation() || ValidateBindBuffer(context, targetPacked, buffer)) { context->bindBuffer(targetPacked, buffer); } } } void GL_APIENTRY BindFramebuffer(GLenum target, GLuint framebuffer) { EVENT("(GLenum target = 0x%X, GLuint framebuffer = %u)", target, framebuffer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, framebuffer); if (context->skipValidation() || ValidateBindFramebuffer(context, target, framebuffer)) { context->bindFramebuffer(target, framebuffer); } } } void GL_APIENTRY BindRenderbuffer(GLenum target, GLuint renderbuffer) { EVENT("(GLenum target = 0x%X, GLuint renderbuffer = %u)", target, renderbuffer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, renderbuffer); if (context->skipValidation() || ValidateBindRenderbuffer(context, target, renderbuffer)) { context->bindRenderbuffer(target, renderbuffer); } } } void GL_APIENTRY BindTexture(GLenum target, GLuint texture) { EVENT("(GLenum target = 0x%X, GLuint texture = %u)", target, texture); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, texture); if (context->skipValidation() || ValidateBindTexture(context, target, texture)) { context->bindTexture(target, texture); } } } void GL_APIENTRY BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { EVENT("(GLfloat red = %f, GLfloat green = %f, GLfloat blue = %f, GLfloat alpha = %f)", red, green, blue, alpha); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(red, green, blue, alpha); if (context->skipValidation() || ValidateBlendColor(context, red, green, blue, alpha)) { context->blendColor(red, green, blue, alpha); } } } void GL_APIENTRY BlendEquation(GLenum mode) { EVENT("(GLenum mode = 0x%X)", mode); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(mode); if (context->skipValidation() || ValidateBlendEquation(context, mode)) { context->blendEquation(mode); } } } void GL_APIENTRY BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { EVENT("(GLenum modeRGB = 0x%X, GLenum modeAlpha = 0x%X)", modeRGB, modeAlpha); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(modeRGB, modeAlpha); if (context->skipValidation() || ValidateBlendEquationSeparate(context, modeRGB, modeAlpha)) { context->blendEquationSeparate(modeRGB, modeAlpha); } } } void GL_APIENTRY BlendFunc(GLenum sfactor, GLenum dfactor) { EVENT("(GLenum sfactor = 0x%X, GLenum dfactor = 0x%X)", sfactor, dfactor); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(sfactor, dfactor); if (context->skipValidation() || ValidateBlendFunc(context, sfactor, dfactor)) { context->blendFunc(sfactor, dfactor); } } } void GL_APIENTRY BlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { EVENT( "(GLenum sfactorRGB = 0x%X, GLenum dfactorRGB = 0x%X, GLenum sfactorAlpha = 0x%X, GLenum " "dfactorAlpha = 0x%X)", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); if (context->skipValidation() || ValidateBlendFuncSeparate(context, sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)) { context->blendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } } } void GL_APIENTRY BufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage) { EVENT( "(GLenum target = 0x%X, GLsizeiptr size = %d, const void *data = 0x%0.8p, GLenum usage = " "0x%X)", target, size, data, usage); Context *context = GetValidGlobalContext(); if (context) { BufferBinding targetPacked = FromGLenum(target); BufferUsage usagePacked = FromGLenum(usage); context->gatherParams(targetPacked, size, data, usagePacked); if (context->skipValidation() || ValidateBufferData(context, targetPacked, size, data, usagePacked)) { context->bufferData(targetPacked, size, data, usagePacked); } } } void GL_APIENTRY BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) { EVENT( "(GLenum target = 0x%X, GLintptr offset = %d, GLsizeiptr size = %d, const void *data = " "0x%0.8p)", target, offset, size, data); Context *context = GetValidGlobalContext(); if (context) { BufferBinding targetPacked = FromGLenum(target); context->gatherParams(targetPacked, offset, size, data); if (context->skipValidation() || ValidateBufferSubData(context, targetPacked, offset, size, data)) { context->bufferSubData(targetPacked, offset, size, data); } } } GLenum GL_APIENTRY CheckFramebufferStatus(GLenum target) { EVENT("(GLenum target = 0x%X)", target); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target); if (context->skipValidation() || ValidateCheckFramebufferStatus(context, target)) { return context->checkFramebufferStatus(target); } } return GetDefaultReturnValue(); } void GL_APIENTRY Clear(GLbitfield mask) { EVENT("(GLbitfield mask = 0x%X)", mask); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(mask); if (context->skipValidation() || ValidateClear(context, mask)) { context->clear(mask); } } } void GL_APIENTRY ClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { EVENT("(GLfloat red = %f, GLfloat green = %f, GLfloat blue = %f, GLfloat alpha = %f)", red, green, blue, alpha); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(red, green, blue, alpha); if (context->skipValidation() || ValidateClearColor(context, red, green, blue, alpha)) { context->clearColor(red, green, blue, alpha); } } } void GL_APIENTRY ClearDepthf(GLfloat d) { EVENT("(GLfloat d = %f)", d); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(d); if (context->skipValidation() || ValidateClearDepthf(context, d)) { context->clearDepthf(d); } } } void GL_APIENTRY ClearStencil(GLint s) { EVENT("(GLint s = %d)", s); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(s); if (context->skipValidation() || ValidateClearStencil(context, s)) { context->clearStencil(s); } } } void GL_APIENTRY ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { EVENT("(GLboolean red = %u, GLboolean green = %u, GLboolean blue = %u, GLboolean alpha = %u)", red, green, blue, alpha); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(red, green, blue, alpha); if (context->skipValidation() || ValidateColorMask(context, red, green, blue, alpha)) { context->colorMask(red, green, blue, alpha); } } } void GL_APIENTRY CompileShader(GLuint shader) { EVENT("(GLuint shader = %u)", shader); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader); if (context->skipValidation() || ValidateCompileShader(context, shader)) { context->compileShader(shader); } } } void GL_APIENTRY CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) { EVENT( "(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLsizei width = " "%d, GLsizei height = %d, GLint border = %d, GLsizei imageSize = %d, const void *data = " "0x%0.8p)", target, level, internalformat, width, height, border, imageSize, data); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams( target, level, internalformat, width, height, border, imageSize, data); if (context->skipValidation() || ValidateCompressedTexImage2D(context, target, level, internalformat, width, height, border, imageSize, data)) { context->compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } } } void GL_APIENTRY CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { EVENT( "(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, GLsizei " "width = %d, GLsizei height = %d, GLenum format = 0x%X, GLsizei imageSize = %d, const void " "*data = 0x%0.8p)", target, level, xoffset, yoffset, width, height, format, imageSize, data); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams( target, level, xoffset, yoffset, width, height, format, imageSize, data); if (context->skipValidation() || ValidateCompressedTexSubImage2D(context, target, level, xoffset, yoffset, width, height, format, imageSize, data)) { context->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } } } void GL_APIENTRY CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { EVENT( "(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLint x = %d, " "GLint y = %d, GLsizei width = %d, GLsizei height = %d, GLint border = %d)", target, level, internalformat, x, y, width, height, border); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, level, internalformat, x, y, width, height, border); if (context->skipValidation() || ValidateCopyTexImage2D(context, target, level, internalformat, x, y, width, height, border)) { context->copyTexImage2D(target, level, internalformat, x, y, width, height, border); } } } void GL_APIENTRY CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { EVENT( "(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, GLint x " "= %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", target, level, xoffset, yoffset, x, y, width, height); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, level, xoffset, yoffset, x, y, width, height); if (context->skipValidation() || ValidateCopyTexSubImage2D(context, target, level, xoffset, yoffset, x, y, width, height)) { context->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } } } GLuint GL_APIENTRY CreateProgram() { EVENT("()"); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(); if (context->skipValidation() || ValidateCreateProgram(context)) { return context->createProgram(); } } return GetDefaultReturnValue(); } GLuint GL_APIENTRY CreateShader(GLenum type) { EVENT("(GLenum type = 0x%X)", type); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(type); if (context->skipValidation() || ValidateCreateShader(context, type)) { return context->createShader(type); } } return GetDefaultReturnValue(); } void GL_APIENTRY CullFace(GLenum mode) { EVENT("(GLenum mode = 0x%X)", mode); Context *context = GetValidGlobalContext(); if (context) { CullFaceMode modePacked = FromGLenum(mode); context->gatherParams(modePacked); if (context->skipValidation() || ValidateCullFace(context, modePacked)) { context->cullFace(modePacked); } } } void GL_APIENTRY DeleteBuffers(GLsizei n, const GLuint *buffers) { EVENT("(GLsizei n = %d, const GLuint *buffers = 0x%0.8p)", n, buffers); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, buffers); if (context->skipValidation() || ValidateDeleteBuffers(context, n, buffers)) { context->deleteBuffers(n, buffers); } } } void GL_APIENTRY DeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { EVENT("(GLsizei n = %d, const GLuint *framebuffers = 0x%0.8p)", n, framebuffers); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, framebuffers); if (context->skipValidation() || ValidateDeleteFramebuffers(context, n, framebuffers)) { context->deleteFramebuffers(n, framebuffers); } } } void GL_APIENTRY DeleteProgram(GLuint program) { EVENT("(GLuint program = %u)", program); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program); if (context->skipValidation() || ValidateDeleteProgram(context, program)) { context->deleteProgram(program); } } } void GL_APIENTRY DeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { EVENT("(GLsizei n = %d, const GLuint *renderbuffers = 0x%0.8p)", n, renderbuffers); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, renderbuffers); if (context->skipValidation() || ValidateDeleteRenderbuffers(context, n, renderbuffers)) { context->deleteRenderbuffers(n, renderbuffers); } } } void GL_APIENTRY DeleteShader(GLuint shader) { EVENT("(GLuint shader = %u)", shader); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader); if (context->skipValidation() || ValidateDeleteShader(context, shader)) { context->deleteShader(shader); } } } void GL_APIENTRY DeleteTextures(GLsizei n, const GLuint *textures) { EVENT("(GLsizei n = %d, const GLuint *textures = 0x%0.8p)", n, textures); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, textures); if (context->skipValidation() || ValidateDeleteTextures(context, n, textures)) { context->deleteTextures(n, textures); } } } void GL_APIENTRY DepthFunc(GLenum func) { EVENT("(GLenum func = 0x%X)", func); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(func); if (context->skipValidation() || ValidateDepthFunc(context, func)) { context->depthFunc(func); } } } void GL_APIENTRY DepthMask(GLboolean flag) { EVENT("(GLboolean flag = %u)", flag); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(flag); if (context->skipValidation() || ValidateDepthMask(context, flag)) { context->depthMask(flag); } } } void GL_APIENTRY DepthRangef(GLfloat n, GLfloat f) { EVENT("(GLfloat n = %f, GLfloat f = %f)", n, f); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, f); if (context->skipValidation() || ValidateDepthRangef(context, n, f)) { context->depthRangef(n, f); } } } void GL_APIENTRY DetachShader(GLuint program, GLuint shader) { EVENT("(GLuint program = %u, GLuint shader = %u)", program, shader); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, shader); if (context->skipValidation() || ValidateDetachShader(context, program, shader)) { context->detachShader(program, shader); } } } void GL_APIENTRY Disable(GLenum cap) { EVENT("(GLenum cap = 0x%X)", cap); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(cap); if (context->skipValidation() || ValidateDisable(context, cap)) { context->disable(cap); } } } void GL_APIENTRY DisableVertexAttribArray(GLuint index) { EVENT("(GLuint index = %u)", index); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index); if (context->skipValidation() || ValidateDisableVertexAttribArray(context, index)) { context->disableVertexAttribArray(index); } } } void GL_APIENTRY DrawArrays(GLenum mode, GLint first, GLsizei count) { EVENT("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d)", mode, first, count); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(mode, first, count); if (context->skipValidation() || ValidateDrawArrays(context, mode, first, count)) { context->drawArrays(mode, first, count); } } } void GL_APIENTRY DrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices) { EVENT( "(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const void *indices = " "0x%0.8p)", mode, count, type, indices); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(mode, count, type, indices); if (context->skipValidation() || ValidateDrawElements(context, mode, count, type, indices)) { context->drawElements(mode, count, type, indices); } } } void GL_APIENTRY Enable(GLenum cap) { EVENT("(GLenum cap = 0x%X)", cap); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(cap); if (context->skipValidation() || ValidateEnable(context, cap)) { context->enable(cap); } } } void GL_APIENTRY EnableVertexAttribArray(GLuint index) { EVENT("(GLuint index = %u)", index); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index); if (context->skipValidation() || ValidateEnableVertexAttribArray(context, index)) { context->enableVertexAttribArray(index); } } } void GL_APIENTRY Finish() { EVENT("()"); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(); if (context->skipValidation() || ValidateFinish(context)) { context->finish(); } } } void GL_APIENTRY Flush() { EVENT("()"); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(); if (context->skipValidation() || ValidateFlush(context)) { context->flush(); } } } void GL_APIENTRY FramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { EVENT( "(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum renderbuffertarget = 0x%X, GLuint " "renderbuffer = %u)", target, attachment, renderbuffertarget, renderbuffer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams( target, attachment, renderbuffertarget, renderbuffer); if (context->skipValidation() || ValidateFramebufferRenderbuffer(context, target, attachment, renderbuffertarget, renderbuffer)) { context->framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } } } void GL_APIENTRY FramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { EVENT( "(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum textarget = 0x%X, GLuint texture " "= %u, GLint level = %d)", target, attachment, textarget, texture, level); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, attachment, textarget, texture, level); if (context->skipValidation() || ValidateFramebufferTexture2D(context, target, attachment, textarget, texture, level)) { context->framebufferTexture2D(target, attachment, textarget, texture, level); } } } void GL_APIENTRY FrontFace(GLenum mode) { EVENT("(GLenum mode = 0x%X)", mode); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(mode); if (context->skipValidation() || ValidateFrontFace(context, mode)) { context->frontFace(mode); } } } void GL_APIENTRY GenBuffers(GLsizei n, GLuint *buffers) { EVENT("(GLsizei n = %d, GLuint *buffers = 0x%0.8p)", n, buffers); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, buffers); if (context->skipValidation() || ValidateGenBuffers(context, n, buffers)) { context->genBuffers(n, buffers); } } } void GL_APIENTRY GenerateMipmap(GLenum target) { EVENT("(GLenum target = 0x%X)", target); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target); if (context->skipValidation() || ValidateGenerateMipmap(context, target)) { context->generateMipmap(target); } } } void GL_APIENTRY GenFramebuffers(GLsizei n, GLuint *framebuffers) { EVENT("(GLsizei n = %d, GLuint *framebuffers = 0x%0.8p)", n, framebuffers); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, framebuffers); if (context->skipValidation() || ValidateGenFramebuffers(context, n, framebuffers)) { context->genFramebuffers(n, framebuffers); } } } void GL_APIENTRY GenRenderbuffers(GLsizei n, GLuint *renderbuffers) { EVENT("(GLsizei n = %d, GLuint *renderbuffers = 0x%0.8p)", n, renderbuffers); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, renderbuffers); if (context->skipValidation() || ValidateGenRenderbuffers(context, n, renderbuffers)) { context->genRenderbuffers(n, renderbuffers); } } } void GL_APIENTRY GenTextures(GLsizei n, GLuint *textures) { EVENT("(GLsizei n = %d, GLuint *textures = 0x%0.8p)", n, textures); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(n, textures); if (context->skipValidation() || ValidateGenTextures(context, n, textures)) { context->genTextures(n, textures); } } } void GL_APIENTRY GetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { EVENT( "(GLuint program = %u, GLuint index = %u, GLsizei bufSize = %d, GLsizei *length = 0x%0.8p, " "GLint *size = 0x%0.8p, GLenum *type = 0x%0.8p, GLchar *name = 0x%0.8p)", program, index, bufSize, length, size, type, name); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, index, bufSize, length, size, type, name); if (context->skipValidation() || ValidateGetActiveAttrib(context, program, index, bufSize, length, size, type, name)) { context->getActiveAttrib(program, index, bufSize, length, size, type, name); } } } void GL_APIENTRY GetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { EVENT( "(GLuint program = %u, GLuint index = %u, GLsizei bufSize = %d, GLsizei *length = 0x%0.8p, " "GLint *size = 0x%0.8p, GLenum *type = 0x%0.8p, GLchar *name = 0x%0.8p)", program, index, bufSize, length, size, type, name); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, index, bufSize, length, size, type, name); if (context->skipValidation() || ValidateGetActiveUniform(context, program, index, bufSize, length, size, type, name)) { context->getActiveUniform(program, index, bufSize, length, size, type, name); } } } void GL_APIENTRY GetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) { EVENT( "(GLuint program = %u, GLsizei maxCount = %d, GLsizei *count = 0x%0.8p, GLuint *shaders = " "0x%0.8p)", program, maxCount, count, shaders); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, maxCount, count, shaders); if (context->skipValidation() || ValidateGetAttachedShaders(context, program, maxCount, count, shaders)) { context->getAttachedShaders(program, maxCount, count, shaders); } } } GLint GL_APIENTRY GetAttribLocation(GLuint program, const GLchar *name) { EVENT("(GLuint program = %u, const GLchar *name = 0x%0.8p)", program, name); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, name); if (context->skipValidation() || ValidateGetAttribLocation(context, program, name)) { return context->getAttribLocation(program, name); } } return GetDefaultReturnValue(); } void GL_APIENTRY GetBooleanv(GLenum pname, GLboolean *data) { EVENT("(GLenum pname = 0x%X, GLboolean *data = 0x%0.8p)", pname, data); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(pname, data); if (context->skipValidation() || ValidateGetBooleanv(context, pname, data)) { context->getBooleanv(pname, data); } } } void GL_APIENTRY GetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", target, pname, params); Context *context = GetValidGlobalContext(); if (context) { BufferBinding targetPacked = FromGLenum(target); context->gatherParams(targetPacked, pname, params); if (context->skipValidation() || ValidateGetBufferParameteriv(context, targetPacked, pname, params)) { context->getBufferParameteriv(targetPacked, pname, params); } } } GLenum GL_APIENTRY GetError() { EVENT("()"); Context *context = GetGlobalContext(); if (context) { context->gatherParams(); if (context->skipValidation() || ValidateGetError(context)) { return context->getError(); } } return GetDefaultReturnValue(); } void GL_APIENTRY GetFloatv(GLenum pname, GLfloat *data) { EVENT("(GLenum pname = 0x%X, GLfloat *data = 0x%0.8p)", pname, data); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(pname, data); if (context->skipValidation() || ValidateGetFloatv(context, pname, data)) { context->getFloatv(pname, data); } } } void GL_APIENTRY GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { EVENT( "(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum pname = 0x%X, GLint *params = " "0x%0.8p)", target, attachment, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, attachment, pname, params); if (context->skipValidation() || ValidateGetFramebufferAttachmentParameteriv(context, target, attachment, pname, params)) { context->getFramebufferAttachmentParameteriv(target, attachment, pname, params); } } } void GL_APIENTRY GetIntegerv(GLenum pname, GLint *data) { EVENT("(GLenum pname = 0x%X, GLint *data = 0x%0.8p)", pname, data); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(pname, data); if (context->skipValidation() || ValidateGetIntegerv(context, pname, data)) { context->getIntegerv(pname, data); } } } void GL_APIENTRY GetProgramiv(GLuint program, GLenum pname, GLint *params) { EVENT("(GLuint program = %u, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", program, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, pname, params); if (context->skipValidation() || ValidateGetProgramiv(context, program, pname, params)) { context->getProgramiv(program, pname, params); } } } void GL_APIENTRY GetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { EVENT( "(GLuint program = %u, GLsizei bufSize = %d, GLsizei *length = 0x%0.8p, GLchar *infoLog = " "0x%0.8p)", program, bufSize, length, infoLog); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, bufSize, length, infoLog); if (context->skipValidation() || ValidateGetProgramInfoLog(context, program, bufSize, length, infoLog)) { context->getProgramInfoLog(program, bufSize, length, infoLog); } } } void GL_APIENTRY GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", target, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, params); if (context->skipValidation() || ValidateGetRenderbufferParameteriv(context, target, pname, params)) { context->getRenderbufferParameteriv(target, pname, params); } } } void GL_APIENTRY GetShaderiv(GLuint shader, GLenum pname, GLint *params) { EVENT("(GLuint shader = %u, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", shader, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader, pname, params); if (context->skipValidation() || ValidateGetShaderiv(context, shader, pname, params)) { context->getShaderiv(shader, pname, params); } } } void GL_APIENTRY GetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { EVENT( "(GLuint shader = %u, GLsizei bufSize = %d, GLsizei *length = 0x%0.8p, GLchar *infoLog = " "0x%0.8p)", shader, bufSize, length, infoLog); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader, bufSize, length, infoLog); if (context->skipValidation() || ValidateGetShaderInfoLog(context, shader, bufSize, length, infoLog)) { context->getShaderInfoLog(shader, bufSize, length, infoLog); } } } void GL_APIENTRY GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { EVENT( "(GLenum shadertype = 0x%X, GLenum precisiontype = 0x%X, GLint *range = 0x%0.8p, GLint " "*precision = 0x%0.8p)", shadertype, precisiontype, range, precision); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shadertype, precisiontype, range, precision); if (context->skipValidation() || ValidateGetShaderPrecisionFormat(context, shadertype, precisiontype, range, precision)) { context->getShaderPrecisionFormat(shadertype, precisiontype, range, precision); } } } void GL_APIENTRY GetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { EVENT( "(GLuint shader = %u, GLsizei bufSize = %d, GLsizei *length = 0x%0.8p, GLchar *source = " "0x%0.8p)", shader, bufSize, length, source); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader, bufSize, length, source); if (context->skipValidation() || ValidateGetShaderSource(context, shader, bufSize, length, source)) { context->getShaderSource(shader, bufSize, length, source); } } } const GLubyte *GL_APIENTRY GetString(GLenum name) { EVENT("(GLenum name = 0x%X)", name); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(name); if (context->skipValidation() || ValidateGetString(context, name)) { return context->getString(name); } } return GetDefaultReturnValue(); } void GL_APIENTRY GetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLfloat *params = 0x%0.8p)", target, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, params); if (context->skipValidation() || ValidateGetTexParameterfv(context, target, pname, params)) { context->getTexParameterfv(target, pname, params); } } } void GL_APIENTRY GetTexParameteriv(GLenum target, GLenum pname, GLint *params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", target, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, params); if (context->skipValidation() || ValidateGetTexParameteriv(context, target, pname, params)) { context->getTexParameteriv(target, pname, params); } } } void GL_APIENTRY GetUniformfv(GLuint program, GLint location, GLfloat *params) { EVENT("(GLuint program = %u, GLint location = %d, GLfloat *params = 0x%0.8p)", program, location, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, location, params); if (context->skipValidation() || ValidateGetUniformfv(context, program, location, params)) { context->getUniformfv(program, location, params); } } } void GL_APIENTRY GetUniformiv(GLuint program, GLint location, GLint *params) { EVENT("(GLuint program = %u, GLint location = %d, GLint *params = 0x%0.8p)", program, location, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, location, params); if (context->skipValidation() || ValidateGetUniformiv(context, program, location, params)) { context->getUniformiv(program, location, params); } } } GLint GL_APIENTRY GetUniformLocation(GLuint program, const GLchar *name) { EVENT("(GLuint program = %u, const GLchar *name = 0x%0.8p)", program, name); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program, name); if (context->skipValidation() || ValidateGetUniformLocation(context, program, name)) { return context->getUniformLocation(program, name); } } return GetDefaultReturnValue(); } void GL_APIENTRY GetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { EVENT("(GLuint index = %u, GLenum pname = 0x%X, GLfloat *params = 0x%0.8p)", index, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, pname, params); if (context->skipValidation() || ValidateGetVertexAttribfv(context, index, pname, params)) { context->getVertexAttribfv(index, pname, params); } } } void GL_APIENTRY GetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { EVENT("(GLuint index = %u, GLenum pname = 0x%X, GLint *params = 0x%0.8p)", index, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, pname, params); if (context->skipValidation() || ValidateGetVertexAttribiv(context, index, pname, params)) { context->getVertexAttribiv(index, pname, params); } } } void GL_APIENTRY GetVertexAttribPointerv(GLuint index, GLenum pname, void **pointer) { EVENT("(GLuint index = %u, GLenum pname = 0x%X, void **pointer = 0x%0.8p)", index, pname, pointer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, pname, pointer); if (context->skipValidation() || ValidateGetVertexAttribPointerv(context, index, pname, pointer)) { context->getVertexAttribPointerv(index, pname, pointer); } } } void GL_APIENTRY Hint(GLenum target, GLenum mode) { EVENT("(GLenum target = 0x%X, GLenum mode = 0x%X)", target, mode); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, mode); if (context->skipValidation() || ValidateHint(context, target, mode)) { context->hint(target, mode); } } } GLboolean GL_APIENTRY IsBuffer(GLuint buffer) { EVENT("(GLuint buffer = %u)", buffer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(buffer); if (context->skipValidation() || ValidateIsBuffer(context, buffer)) { return context->isBuffer(buffer); } } return GetDefaultReturnValue(); } GLboolean GL_APIENTRY IsEnabled(GLenum cap) { EVENT("(GLenum cap = 0x%X)", cap); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(cap); if (context->skipValidation() || ValidateIsEnabled(context, cap)) { return context->isEnabled(cap); } } return GetDefaultReturnValue(); } GLboolean GL_APIENTRY IsFramebuffer(GLuint framebuffer) { EVENT("(GLuint framebuffer = %u)", framebuffer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(framebuffer); if (context->skipValidation() || ValidateIsFramebuffer(context, framebuffer)) { return context->isFramebuffer(framebuffer); } } return GetDefaultReturnValue(); } GLboolean GL_APIENTRY IsProgram(GLuint program) { EVENT("(GLuint program = %u)", program); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program); if (context->skipValidation() || ValidateIsProgram(context, program)) { return context->isProgram(program); } } return GetDefaultReturnValue(); } GLboolean GL_APIENTRY IsRenderbuffer(GLuint renderbuffer) { EVENT("(GLuint renderbuffer = %u)", renderbuffer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(renderbuffer); if (context->skipValidation() || ValidateIsRenderbuffer(context, renderbuffer)) { return context->isRenderbuffer(renderbuffer); } } return GetDefaultReturnValue(); } GLboolean GL_APIENTRY IsShader(GLuint shader) { EVENT("(GLuint shader = %u)", shader); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader); if (context->skipValidation() || ValidateIsShader(context, shader)) { return context->isShader(shader); } } return GetDefaultReturnValue(); } GLboolean GL_APIENTRY IsTexture(GLuint texture) { EVENT("(GLuint texture = %u)", texture); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(texture); if (context->skipValidation() || ValidateIsTexture(context, texture)) { return context->isTexture(texture); } } return GetDefaultReturnValue(); } void GL_APIENTRY LineWidth(GLfloat width) { EVENT("(GLfloat width = %f)", width); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(width); if (context->skipValidation() || ValidateLineWidth(context, width)) { context->lineWidth(width); } } } void GL_APIENTRY LinkProgram(GLuint program) { EVENT("(GLuint program = %u)", program); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program); if (context->skipValidation() || ValidateLinkProgram(context, program)) { context->linkProgram(program); } } } void GL_APIENTRY PixelStorei(GLenum pname, GLint param) { EVENT("(GLenum pname = 0x%X, GLint param = %d)", pname, param); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(pname, param); if (context->skipValidation() || ValidatePixelStorei(context, pname, param)) { context->pixelStorei(pname, param); } } } void GL_APIENTRY PolygonOffset(GLfloat factor, GLfloat units) { EVENT("(GLfloat factor = %f, GLfloat units = %f)", factor, units); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(factor, units); if (context->skipValidation() || ValidatePolygonOffset(context, factor, units)) { context->polygonOffset(factor, units); } } } void GL_APIENTRY ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) { EVENT( "(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, GLenum format = " "0x%X, GLenum type = 0x%X, void *pixels = 0x%0.8p)", x, y, width, height, format, type, pixels); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(x, y, width, height, format, type, pixels); if (context->skipValidation() || ValidateReadPixels(context, x, y, width, height, format, type, pixels)) { context->readPixels(x, y, width, height, format, type, pixels); } } } void GL_APIENTRY ReleaseShaderCompiler() { EVENT("()"); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(); if (context->skipValidation() || ValidateReleaseShaderCompiler(context)) { context->releaseShaderCompiler(); } } } void GL_APIENTRY RenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { EVENT( "(GLenum target = 0x%X, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = " "%d)", target, internalformat, width, height); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, internalformat, width, height); if (context->skipValidation() || ValidateRenderbufferStorage(context, target, internalformat, width, height)) { context->renderbufferStorage(target, internalformat, width, height); } } } void GL_APIENTRY SampleCoverage(GLfloat value, GLboolean invert) { EVENT("(GLfloat value = %f, GLboolean invert = %u)", value, invert); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(value, invert); if (context->skipValidation() || ValidateSampleCoverage(context, value, invert)) { context->sampleCoverage(value, invert); } } } void GL_APIENTRY Scissor(GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", x, y, width, height); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(x, y, width, height); if (context->skipValidation() || ValidateScissor(context, x, y, width, height)) { context->scissor(x, y, width, height); } } } void GL_APIENTRY ShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) { EVENT( "(GLsizei count = %d, const GLuint *shaders = 0x%0.8p, GLenum binaryformat = 0x%X, const " "void *binary = 0x%0.8p, GLsizei length = %d)", count, shaders, binaryformat, binary, length); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(count, shaders, binaryformat, binary, length); if (context->skipValidation() || ValidateShaderBinary(context, count, shaders, binaryformat, binary, length)) { context->shaderBinary(count, shaders, binaryformat, binary, length); } } } void GL_APIENTRY ShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { EVENT( "(GLuint shader = %u, GLsizei count = %d, const GLchar *const*string = 0x%0.8p, const " "GLint *length = 0x%0.8p)", shader, count, string, length); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(shader, count, string, length); if (context->skipValidation() || ValidateShaderSource(context, shader, count, string, length)) { context->shaderSource(shader, count, string, length); } } } void GL_APIENTRY StencilFunc(GLenum func, GLint ref, GLuint mask) { EVENT("(GLenum func = 0x%X, GLint ref = %d, GLuint mask = %u)", func, ref, mask); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(func, ref, mask); if (context->skipValidation() || ValidateStencilFunc(context, func, ref, mask)) { context->stencilFunc(func, ref, mask); } } } void GL_APIENTRY StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { EVENT("(GLenum face = 0x%X, GLenum func = 0x%X, GLint ref = %d, GLuint mask = %u)", face, func, ref, mask); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(face, func, ref, mask); if (context->skipValidation() || ValidateStencilFuncSeparate(context, face, func, ref, mask)) { context->stencilFuncSeparate(face, func, ref, mask); } } } void GL_APIENTRY StencilMask(GLuint mask) { EVENT("(GLuint mask = %u)", mask); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(mask); if (context->skipValidation() || ValidateStencilMask(context, mask)) { context->stencilMask(mask); } } } void GL_APIENTRY StencilMaskSeparate(GLenum face, GLuint mask) { EVENT("(GLenum face = 0x%X, GLuint mask = %u)", face, mask); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(face, mask); if (context->skipValidation() || ValidateStencilMaskSeparate(context, face, mask)) { context->stencilMaskSeparate(face, mask); } } } void GL_APIENTRY StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { EVENT("(GLenum fail = 0x%X, GLenum zfail = 0x%X, GLenum zpass = 0x%X)", fail, zfail, zpass); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(fail, zfail, zpass); if (context->skipValidation() || ValidateStencilOp(context, fail, zfail, zpass)) { context->stencilOp(fail, zfail, zpass); } } } void GL_APIENTRY StencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { EVENT("(GLenum face = 0x%X, GLenum sfail = 0x%X, GLenum dpfail = 0x%X, GLenum dppass = 0x%X)", face, sfail, dpfail, dppass); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(face, sfail, dpfail, dppass); if (context->skipValidation() || ValidateStencilOpSeparate(context, face, sfail, dpfail, dppass)) { context->stencilOpSeparate(face, sfail, dpfail, dppass); } } } void GL_APIENTRY TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) { EVENT( "(GLenum target = 0x%X, GLint level = %d, GLint internalformat = %d, GLsizei width = %d, " "GLsizei height = %d, GLint border = %d, GLenum format = 0x%X, GLenum type = 0x%X, const " "void *pixels = 0x%0.8p)", target, level, internalformat, width, height, border, format, type, pixels); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, level, internalformat, width, height, border, format, type, pixels); if (context->skipValidation() || ValidateTexImage2D(context, target, level, internalformat, width, height, border, format, type, pixels)) { context->texImage2D(target, level, internalformat, width, height, border, format, type, pixels); } } } void GL_APIENTRY TexParameterf(GLenum target, GLenum pname, GLfloat param) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLfloat param = %f)", target, pname, param); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, param); if (context->skipValidation() || ValidateTexParameterf(context, target, pname, param)) { context->texParameterf(target, pname, param); } } } void GL_APIENTRY TexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, const GLfloat *params = 0x%0.8p)", target, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, params); if (context->skipValidation() || ValidateTexParameterfv(context, target, pname, params)) { context->texParameterfv(target, pname, params); } } } void GL_APIENTRY TexParameteri(GLenum target, GLenum pname, GLint param) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint param = %d)", target, pname, param); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, param); if (context->skipValidation() || ValidateTexParameteri(context, target, pname, param)) { context->texParameteri(target, pname, param); } } } void GL_APIENTRY TexParameteriv(GLenum target, GLenum pname, const GLint *params) { EVENT("(GLenum target = 0x%X, GLenum pname = 0x%X, const GLint *params = 0x%0.8p)", target, pname, params); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, pname, params); if (context->skipValidation() || ValidateTexParameteriv(context, target, pname, params)) { context->texParameteriv(target, pname, params); } } } void GL_APIENTRY TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { EVENT( "(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, GLsizei " "width = %d, GLsizei height = %d, GLenum format = 0x%X, GLenum type = 0x%X, const void " "*pixels = 0x%0.8p)", target, level, xoffset, yoffset, width, height, format, type, pixels); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(target, level, xoffset, yoffset, width, height, format, type, pixels); if (context->skipValidation() || ValidateTexSubImage2D(context, target, level, xoffset, yoffset, width, height, format, type, pixels)) { context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } } } void GL_APIENTRY Uniform1f(GLint location, GLfloat v0) { EVENT("(GLint location = %d, GLfloat v0 = %f)", location, v0); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0); if (context->skipValidation() || ValidateUniform1f(context, location, v0)) { context->uniform1f(location, v0); } } } void GL_APIENTRY Uniform1fv(GLint location, GLsizei count, const GLfloat *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform1fv(context, location, count, value)) { context->uniform1fv(location, count, value); } } } void GL_APIENTRY Uniform1i(GLint location, GLint v0) { EVENT("(GLint location = %d, GLint v0 = %d)", location, v0); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0); if (context->skipValidation() || ValidateUniform1i(context, location, v0)) { context->uniform1i(location, v0); } } } void GL_APIENTRY Uniform1iv(GLint location, GLsizei count, const GLint *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform1iv(context, location, count, value)) { context->uniform1iv(location, count, value); } } } void GL_APIENTRY Uniform2f(GLint location, GLfloat v0, GLfloat v1) { EVENT("(GLint location = %d, GLfloat v0 = %f, GLfloat v1 = %f)", location, v0, v1); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0, v1); if (context->skipValidation() || ValidateUniform2f(context, location, v0, v1)) { context->uniform2f(location, v0, v1); } } } void GL_APIENTRY Uniform2fv(GLint location, GLsizei count, const GLfloat *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform2fv(context, location, count, value)) { context->uniform2fv(location, count, value); } } } void GL_APIENTRY Uniform2i(GLint location, GLint v0, GLint v1) { EVENT("(GLint location = %d, GLint v0 = %d, GLint v1 = %d)", location, v0, v1); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0, v1); if (context->skipValidation() || ValidateUniform2i(context, location, v0, v1)) { context->uniform2i(location, v0, v1); } } } void GL_APIENTRY Uniform2iv(GLint location, GLsizei count, const GLint *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform2iv(context, location, count, value)) { context->uniform2iv(location, count, value); } } } void GL_APIENTRY Uniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { EVENT("(GLint location = %d, GLfloat v0 = %f, GLfloat v1 = %f, GLfloat v2 = %f)", location, v0, v1, v2); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0, v1, v2); if (context->skipValidation() || ValidateUniform3f(context, location, v0, v1, v2)) { context->uniform3f(location, v0, v1, v2); } } } void GL_APIENTRY Uniform3fv(GLint location, GLsizei count, const GLfloat *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform3fv(context, location, count, value)) { context->uniform3fv(location, count, value); } } } void GL_APIENTRY Uniform3i(GLint location, GLint v0, GLint v1, GLint v2) { EVENT("(GLint location = %d, GLint v0 = %d, GLint v1 = %d, GLint v2 = %d)", location, v0, v1, v2); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0, v1, v2); if (context->skipValidation() || ValidateUniform3i(context, location, v0, v1, v2)) { context->uniform3i(location, v0, v1, v2); } } } void GL_APIENTRY Uniform3iv(GLint location, GLsizei count, const GLint *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform3iv(context, location, count, value)) { context->uniform3iv(location, count, value); } } } void GL_APIENTRY Uniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { EVENT( "(GLint location = %d, GLfloat v0 = %f, GLfloat v1 = %f, GLfloat v2 = %f, GLfloat v3 = %f)", location, v0, v1, v2, v3); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0, v1, v2, v3); if (context->skipValidation() || ValidateUniform4f(context, location, v0, v1, v2, v3)) { context->uniform4f(location, v0, v1, v2, v3); } } } void GL_APIENTRY Uniform4fv(GLint location, GLsizei count, const GLfloat *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLfloat *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform4fv(context, location, count, value)) { context->uniform4fv(location, count, value); } } } void GL_APIENTRY Uniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { EVENT("(GLint location = %d, GLint v0 = %d, GLint v1 = %d, GLint v2 = %d, GLint v3 = %d)", location, v0, v1, v2, v3); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, v0, v1, v2, v3); if (context->skipValidation() || ValidateUniform4i(context, location, v0, v1, v2, v3)) { context->uniform4i(location, v0, v1, v2, v3); } } } void GL_APIENTRY Uniform4iv(GLint location, GLsizei count, const GLint *value) { EVENT("(GLint location = %d, GLsizei count = %d, const GLint *value = 0x%0.8p)", location, count, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, value); if (context->skipValidation() || ValidateUniform4iv(context, location, count, value)) { context->uniform4iv(location, count, value); } } } void GL_APIENTRY UniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { EVENT( "(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat *value " "= 0x%0.8p)", location, count, transpose, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, transpose, value); if (context->skipValidation() || ValidateUniformMatrix2fv(context, location, count, transpose, value)) { context->uniformMatrix2fv(location, count, transpose, value); } } } void GL_APIENTRY UniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { EVENT( "(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat *value " "= 0x%0.8p)", location, count, transpose, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, transpose, value); if (context->skipValidation() || ValidateUniformMatrix3fv(context, location, count, transpose, value)) { context->uniformMatrix3fv(location, count, transpose, value); } } } void GL_APIENTRY UniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { EVENT( "(GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, const GLfloat *value " "= 0x%0.8p)", location, count, transpose, value); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(location, count, transpose, value); if (context->skipValidation() || ValidateUniformMatrix4fv(context, location, count, transpose, value)) { context->uniformMatrix4fv(location, count, transpose, value); } } } void GL_APIENTRY UseProgram(GLuint program) { EVENT("(GLuint program = %u)", program); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program); if (context->skipValidation() || ValidateUseProgram(context, program)) { context->useProgram(program); } } } void GL_APIENTRY ValidateProgram(GLuint program) { EVENT("(GLuint program = %u)", program); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(program); if (context->skipValidation() || ValidateValidateProgram(context, program)) { context->validateProgram(program); } } } void GL_APIENTRY VertexAttrib1f(GLuint index, GLfloat x) { EVENT("(GLuint index = %u, GLfloat x = %f)", index, x); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, x); if (context->skipValidation() || ValidateVertexAttrib1f(context, index, x)) { context->vertexAttrib1f(index, x); } } } void GL_APIENTRY VertexAttrib1fv(GLuint index, const GLfloat *v) { EVENT("(GLuint index = %u, const GLfloat *v = 0x%0.8p)", index, v); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, v); if (context->skipValidation() || ValidateVertexAttrib1fv(context, index, v)) { context->vertexAttrib1fv(index, v); } } } void GL_APIENTRY VertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { EVENT("(GLuint index = %u, GLfloat x = %f, GLfloat y = %f)", index, x, y); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, x, y); if (context->skipValidation() || ValidateVertexAttrib2f(context, index, x, y)) { context->vertexAttrib2f(index, x, y); } } } void GL_APIENTRY VertexAttrib2fv(GLuint index, const GLfloat *v) { EVENT("(GLuint index = %u, const GLfloat *v = 0x%0.8p)", index, v); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, v); if (context->skipValidation() || ValidateVertexAttrib2fv(context, index, v)) { context->vertexAttrib2fv(index, v); } } } void GL_APIENTRY VertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { EVENT("(GLuint index = %u, GLfloat x = %f, GLfloat y = %f, GLfloat z = %f)", index, x, y, z); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, x, y, z); if (context->skipValidation() || ValidateVertexAttrib3f(context, index, x, y, z)) { context->vertexAttrib3f(index, x, y, z); } } } void GL_APIENTRY VertexAttrib3fv(GLuint index, const GLfloat *v) { EVENT("(GLuint index = %u, const GLfloat *v = 0x%0.8p)", index, v); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, v); if (context->skipValidation() || ValidateVertexAttrib3fv(context, index, v)) { context->vertexAttrib3fv(index, v); } } } void GL_APIENTRY VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { EVENT("(GLuint index = %u, GLfloat x = %f, GLfloat y = %f, GLfloat z = %f, GLfloat w = %f)", index, x, y, z, w); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, x, y, z, w); if (context->skipValidation() || ValidateVertexAttrib4f(context, index, x, y, z, w)) { context->vertexAttrib4f(index, x, y, z, w); } } } void GL_APIENTRY VertexAttrib4fv(GLuint index, const GLfloat *v) { EVENT("(GLuint index = %u, const GLfloat *v = 0x%0.8p)", index, v); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, v); if (context->skipValidation() || ValidateVertexAttrib4fv(context, index, v)) { context->vertexAttrib4fv(index, v); } } } void GL_APIENTRY VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) { EVENT( "(GLuint index = %u, GLint size = %d, GLenum type = 0x%X, GLboolean normalized = %u, " "GLsizei stride = %d, const void *pointer = 0x%0.8p)", index, size, type, normalized, stride, pointer); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(index, size, type, normalized, stride, pointer); if (context->skipValidation() || ValidateVertexAttribPointer(context, index, size, type, normalized, stride, pointer)) { context->vertexAttribPointer(index, size, type, normalized, stride, pointer); } } } void GL_APIENTRY Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { EVENT("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", x, y, width, height); Context *context = GetValidGlobalContext(); if (context) { context->gatherParams(x, y, width, height); if (context->skipValidation() || ValidateViewport(context, x, y, width, height)) { context->viewport(x, y, width, height); } } } } // namespace gl