Hash :
bd4e756a
Author :
Date :
2020-02-17T09:49:45
Const-ify the validation layer. Enforces that the validation layers should be working pretty much read- only with the exeption of updating caches. Requires a few tricks: - updates EP code generation to add 'const' to pointer parameters - enables a kludge const_cast to enable the robust query extension - makes some members of Framebuffer mutable to work around syncState - makes 'is' queries and other methods in Context/State const Will allow us to more safely expose the no_error extension. Bug: angleproject:1280 Change-Id: Id9756757854c9e68fc096ecec8d93759fbe6b3a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2060689 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
//
// Copyright 2019 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.
//
// validationGL43.cpp: Validation functions for OpenGL 4.3 entry point parameters
#include "libANGLE/validationGL43_autogen.h"
namespace gl
{
bool ValidateClearBufferData(const Context *context,
GLenum target,
GLenum internalformat,
GLenum format,
GLenum type,
const void *data)
{
return true;
}
bool ValidateClearBufferSubData(const Context *context,
GLenum target,
GLenum internalformat,
GLintptr offset,
GLsizeiptr size,
GLenum format,
GLenum type,
const void *data)
{
return true;
}
bool ValidateGetInternalformati64v(const Context *context,
GLenum target,
GLenum internalformat,
GLenum pname,
GLsizei bufSize,
const GLint64 *params)
{
return true;
}
bool ValidateGetProgramResourceLocationIndex(const Context *context,
ShaderProgramID program,
GLenum programInterface,
const GLchar *name)
{
return true;
}
bool ValidateInvalidateBufferData(const Context *context, BufferID buffer)
{
return true;
}
bool ValidateInvalidateBufferSubData(const Context *context,
BufferID buffer,
GLintptr offset,
GLsizeiptr length)
{
return true;
}
bool ValidateInvalidateTexImage(const Context *context, TextureID texture, GLint level)
{
return true;
}
bool ValidateInvalidateTexSubImage(const Context *context,
TextureID texture,
GLint level,
GLint xoffset,
GLint yoffset,
GLint zoffset,
GLsizei width,
GLsizei height,
GLsizei depth)
{
return true;
}
bool ValidateMultiDrawArraysIndirect(const Context *context,
GLenum mode,
const void *indirect,
GLsizei drawcount,
GLsizei stride)
{
return true;
}
bool ValidateMultiDrawElementsIndirect(const Context *context,
GLenum mode,
GLenum type,
const void *indirect,
GLsizei drawcount,
GLsizei stride)
{
return true;
}
bool ValidateShaderStorageBlockBinding(const Context *context,
ShaderProgramID program,
GLuint storageBlockIndex,
GLuint storageBlockBinding)
{
return true;
}
bool ValidateTextureView(const Context *context,
TextureID texture,
GLenum target,
GLuint origtexture,
GLenum internalformat,
GLuint minlevel,
GLuint numlevels,
GLuint minlayer,
GLuint numlayers)
{
return true;
}
bool ValidateVertexAttribLFormat(const Context *context,
GLuint attribindex,
GLint size,
GLenum type,
GLuint relativeoffset)
{
return true;
}
} // namespace gl