Hash :
74cf6a3a
Author :
Date :
2023-07-12T14:44:17
Ensure lockless entry point validations only access private data Bug: angleproject:8224 Change-Id: I19e867923b088879f9f37d0a3b4ff8b681470be0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678352 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@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 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296
// GENERATED FILE - DO NOT EDIT.
// Generated by generate_entry_points.py using data from gl.xml and gl_angle_ext.xml.
//
// Copyright 2020 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.
//
// validationES32_autogen.h:
// Validation functions for the OpenGL ES 3.2 entry points.
#ifndef LIBANGLE_VALIDATION_ES32_AUTOGEN_H_
#define LIBANGLE_VALIDATION_ES32_AUTOGEN_H_
#include "common/PackedEnums.h"
#include "common/entry_points_enum_autogen.h"
namespace gl
{
class Context;
class PrivateState;
class ErrorSet;
bool ValidateBlendBarrier(const Context *context, angle::EntryPoint entryPoint);
bool ValidateBlendEquationSeparatei(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint buf,
GLenum modeRGB,
GLenum modeAlpha);
bool ValidateBlendEquationi(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint buf,
GLenum mode);
bool ValidateBlendFuncSeparatei(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint buf,
GLenum srcRGB,
GLenum dstRGB,
GLenum srcAlpha,
GLenum dstAlpha);
bool ValidateBlendFunci(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint buf,
GLenum src,
GLenum dst);
bool ValidateColorMaski(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLuint index,
GLboolean r,
GLboolean g,
GLboolean b,
GLboolean a);
bool ValidateCopyImageSubData(const Context *context,
angle::EntryPoint entryPoint,
GLuint srcName,
GLenum srcTarget,
GLint srcLevel,
GLint srcX,
GLint srcY,
GLint srcZ,
GLuint dstName,
GLenum dstTarget,
GLint dstLevel,
GLint dstX,
GLint dstY,
GLint dstZ,
GLsizei srcWidth,
GLsizei srcHeight,
GLsizei srcDepth);
bool ValidateDebugMessageCallback(const Context *context,
angle::EntryPoint entryPoint,
GLDEBUGPROC callback,
const void *userParam);
bool ValidateDebugMessageControl(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLenum type,
GLenum severity,
GLsizei count,
const GLuint *ids,
GLboolean enabled);
bool ValidateDebugMessageInsert(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLenum type,
GLuint id,
GLenum severity,
GLsizei length,
const GLchar *buf);
bool ValidateDisablei(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum target,
GLuint index);
bool ValidateDrawElementsBaseVertex(const Context *context,
angle::EntryPoint entryPoint,
PrimitiveMode modePacked,
GLsizei count,
DrawElementsType typePacked,
const void *indices,
GLint basevertex);
bool ValidateDrawElementsInstancedBaseVertex(const Context *context,
angle::EntryPoint entryPoint,
PrimitiveMode modePacked,
GLsizei count,
DrawElementsType typePacked,
const void *indices,
GLsizei instancecount,
GLint basevertex);
bool ValidateDrawRangeElementsBaseVertex(const Context *context,
angle::EntryPoint entryPoint,
PrimitiveMode modePacked,
GLuint start,
GLuint end,
GLsizei count,
DrawElementsType typePacked,
const void *indices,
GLint basevertex);
bool ValidateEnablei(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum target,
GLuint index);
bool ValidateFramebufferTexture(const Context *context,
angle::EntryPoint entryPoint,
GLenum target,
GLenum attachment,
TextureID texturePacked,
GLint level);
bool ValidateGetDebugMessageLog(const Context *context,
angle::EntryPoint entryPoint,
GLuint count,
GLsizei bufSize,
const GLenum *sources,
const GLenum *types,
const GLuint *ids,
const GLenum *severities,
const GLsizei *lengths,
const GLchar *messageLog);
bool ValidateGetGraphicsResetStatus(const Context *context, angle::EntryPoint entryPoint);
bool ValidateGetObjectLabel(const Context *context,
angle::EntryPoint entryPoint,
GLenum identifier,
GLuint name,
GLsizei bufSize,
const GLsizei *length,
const GLchar *label);
bool ValidateGetObjectPtrLabel(const Context *context,
angle::EntryPoint entryPoint,
const void *ptr,
GLsizei bufSize,
const GLsizei *length,
const GLchar *label);
bool ValidateGetPointerv(const Context *context,
angle::EntryPoint entryPoint,
GLenum pname,
void *const *params);
bool ValidateGetSamplerParameterIiv(const Context *context,
angle::EntryPoint entryPoint,
SamplerID samplerPacked,
GLenum pname,
const GLint *params);
bool ValidateGetSamplerParameterIuiv(const Context *context,
angle::EntryPoint entryPoint,
SamplerID samplerPacked,
GLenum pname,
const GLuint *params);
bool ValidateGetTexParameterIiv(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLenum pname,
const GLint *params);
bool ValidateGetTexParameterIuiv(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLenum pname,
const GLuint *params);
bool ValidateGetnUniformfv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID programPacked,
UniformLocation locationPacked,
GLsizei bufSize,
const GLfloat *params);
bool ValidateGetnUniformiv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID programPacked,
UniformLocation locationPacked,
GLsizei bufSize,
const GLint *params);
bool ValidateGetnUniformuiv(const Context *context,
angle::EntryPoint entryPoint,
ShaderProgramID programPacked,
UniformLocation locationPacked,
GLsizei bufSize,
const GLuint *params);
bool ValidateIsEnabledi(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum target,
GLuint index);
bool ValidateMinSampleShading(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat value);
bool ValidateObjectLabel(const Context *context,
angle::EntryPoint entryPoint,
GLenum identifier,
GLuint name,
GLsizei length,
const GLchar *label);
bool ValidateObjectPtrLabel(const Context *context,
angle::EntryPoint entryPoint,
const void *ptr,
GLsizei length,
const GLchar *label);
bool ValidatePatchParameteri(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLenum pname,
GLint value);
bool ValidatePopDebugGroup(const Context *context, angle::EntryPoint entryPoint);
bool ValidatePrimitiveBoundingBox(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint,
GLfloat minX,
GLfloat minY,
GLfloat minZ,
GLfloat minW,
GLfloat maxX,
GLfloat maxY,
GLfloat maxZ,
GLfloat maxW);
bool ValidatePushDebugGroup(const Context *context,
angle::EntryPoint entryPoint,
GLenum source,
GLuint id,
GLsizei length,
const GLchar *message);
bool ValidateReadnPixels(const Context *context,
angle::EntryPoint entryPoint,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
GLsizei bufSize,
const void *data);
bool ValidateSamplerParameterIiv(const Context *context,
angle::EntryPoint entryPoint,
SamplerID samplerPacked,
GLenum pname,
const GLint *param);
bool ValidateSamplerParameterIuiv(const Context *context,
angle::EntryPoint entryPoint,
SamplerID samplerPacked,
GLenum pname,
const GLuint *param);
bool ValidateTexBuffer(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLenum internalformat,
BufferID bufferPacked);
bool ValidateTexBufferRange(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLenum internalformat,
BufferID bufferPacked,
GLintptr offset,
GLsizeiptr size);
bool ValidateTexParameterIiv(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLenum pname,
const GLint *params);
bool ValidateTexParameterIuiv(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLenum pname,
const GLuint *params);
bool ValidateTexStorage3DMultisample(const Context *context,
angle::EntryPoint entryPoint,
TextureType targetPacked,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLboolean fixedsamplelocations);
} // namespace gl
#endif // LIBANGLE_VALIDATION_ES32_AUTOGEN_H_