1e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang// 2e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang// Copyright (c) 2013 The ANGLE Project Authors. All rights reserved. 3e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang// Use of this source code is governed by a BSD-style license that can be 4e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang// found in the LICENSE file. 5e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang// 6e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 7e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang// validationES.h: Validation functions for generic OpenGL ES entry point parameters 8e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 9e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang#ifndef LIBGLESV2_VALIDATION_ES_H 10e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang#define LIBGLESV2_VALIDATION_ES_H 11e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 12e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Langnamespace gl 13e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang{ 14e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 15e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Langclass Context; 16e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 170550d0389a59a50a1df0df3484ecefc864715e26Geoff Langbool ValidCap(const Context *context, GLenum cap); 181fc7e2c5961207aa2bd1a99978d661b4cbcbf144Jamie Madillbool ValidTextureTarget(const Context *context, GLenum target); 194dfed837cbbdf55d82b2a602d9f5806201f80fa7Shannon Woodsbool ValidTexture2DDestinationTarget(const Context *context, GLenum target); 201fc7e2c5961207aa2bd1a99978d661b4cbcbf144Jamie Madillbool ValidFramebufferTarget(GLenum target); 218c96d58af5a5994c81b81032f775dc7d24cb5661Jamie Madillbool ValidBufferTarget(const Context *context, GLenum target); 2270656a64851b8014a325dd711297054032e466c1Jamie Madillbool ValidBufferParameter(const Context *context, GLenum pname); 231fc7e2c5961207aa2bd1a99978d661b4cbcbf144Jamie Madillbool ValidMipLevel(const Context *context, GLenum target, GLint level); 24ce6356958ba86c2b09e62e1250cabd6bab16a082Geoff Langbool ValidImageSize(const gl::Context *context, GLenum target, GLint level, GLsizei width, GLsizei height, GLsizei depth); 25005df41f8900641ed1df60700c8e2eca659a33cbGeoff Langbool ValidCompressedImageSize(const gl::Context *context, GLenum internalFormat, GLsizei width, GLsizei height); 2637dde6929d79c9a523bd6c786d2b6c6544be8c9dGeoff Langbool ValidQueryType(const gl::Context *context, GLenum queryType); 2748dcae7b217420a7387c84a76651989e6f5f3576Geoff Langbool ValidProgram(const gl::Context *context, GLuint id); 28ce6356958ba86c2b09e62e1250cabd6bab16a082Geoff Lang 2934dbb6f5ed0ca2cc55a3f1faaa7d6ce2f95d0c18Geoff Langbool ValidateRenderbufferStorageParameters(const gl::Context *context, GLenum target, GLsizei samples, 30e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang GLenum internalformat, GLsizei width, GLsizei height, 31e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang bool angleExtension); 321fc7e2c5961207aa2bd1a99978d661b4cbcbf144Jamie Madillbool ValidateFramebufferRenderbufferParameters(gl::Context *context, GLenum target, GLenum attachment, 331fc7e2c5961207aa2bd1a99978d661b4cbcbf144Jamie Madill GLenum renderbuffertarget, GLuint renderbuffer); 34e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 3534dbb6f5ed0ca2cc55a3f1faaa7d6ce2f95d0c18Geoff Langbool ValidateBlitFramebufferParameters(gl::Context *context, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, 36e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, 37e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang GLenum filter, bool fromAngleExtension); 38e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 3934dbb6f5ed0ca2cc55a3f1faaa7d6ce2f95d0c18Geoff Langbool ValidateGetVertexAttribParameters(GLenum pname, int clientVersion); 40e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 4134dbb6f5ed0ca2cc55a3f1faaa7d6ce2f95d0c18Geoff Langbool ValidateTexParamParameters(gl::Context *context, GLenum pname, GLint param); 42e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 4334dbb6f5ed0ca2cc55a3f1faaa7d6ce2f95d0c18Geoff Langbool ValidateSamplerObjectParameter(GLenum pname); 44e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 4526e9195fdcf536f07e4760656b063262bda9b60dJamie Madillbool ValidateReadPixelsParameters(gl::Context *context, GLint x, GLint y, GLsizei width, GLsizei height, 4626e9195fdcf536f07e4760656b063262bda9b60dJamie Madill GLenum format, GLenum type, GLsizei *bufSize, GLvoid *pixels); 4726e9195fdcf536f07e4760656b063262bda9b60dJamie Madill 48db2f14c0b1133507215dd3b7a30155b70885973aJamie Madillbool ValidateBeginQuery(gl::Context *context, GLenum target, GLuint id); 4945c785d35c270ca1d1168b6ca5517cb3a5a285ccJamie Madillbool ValidateEndQuery(gl::Context *context, GLenum target); 50db2f14c0b1133507215dd3b7a30155b70885973aJamie Madill 51aa981bd714bc3c091d74e8a2893edfca6c5b7bb4Jamie Madillbool ValidateUniform(gl::Context *context, GLenum uniformType, GLint location, GLsizei count); 52d7c7bb276e532e2e55963cdb07b8091d01fb018dJamie Madillbool ValidateUniformMatrix(gl::Context *context, GLenum matrixType, GLint location, GLsizei count, 53d7c7bb276e532e2e55963cdb07b8091d01fb018dJamie Madill GLboolean transpose); 54d7c7bb276e532e2e55963cdb07b8091d01fb018dJamie Madill 55893ab0878d3358c45ced6a6fb048ea048e1faa97Jamie Madillbool ValidateStateQuery(gl::Context *context, GLenum pname, GLenum *nativeType, unsigned int *numParams); 56893ab0878d3358c45ced6a6fb048ea048e1faa97Jamie Madill 57560a8d889b6866d7d29da968971818437e9cde36Jamie Madillbool ValidateCopyTexImageParametersBase(gl::Context* context, GLenum target, GLint level, GLenum internalformat, bool isSubImage, 58560a8d889b6866d7d29da968971818437e9cde36Jamie Madill GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, 59560a8d889b6866d7d29da968971818437e9cde36Jamie Madill GLint border, GLenum *textureInternalFormatOut); 60560a8d889b6866d7d29da968971818437e9cde36Jamie Madill 61e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang} 62e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang 63e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9Geoff Lang#endif // LIBGLESV2_VALIDATION_ES_H 64