blob: 91448f48d331c67efff239650b0fdc36463214fc [file] [log] [blame]
// GENERATED FILE - DO NOT EDIT.
// Generated by generate_entry_points.py using data from gl.xml.
//
// 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.
//
// entry_points_gl_4_2_autogen.cpp:
// Defines the GL 4.2 entry points.
#include "libGL/entry_points_gl_4_2_autogen.h"
#include "libANGLE/Context.h"
#include "libANGLE/Context.inl.h"
#include "libANGLE/entry_points_utils.h"
#include "libANGLE/gl_enum_utils.h"
#include "libANGLE/validationEGL.h"
#include "libANGLE/validationES.h"
#include "libANGLE/validationES1.h"
#include "libANGLE/validationES2.h"
#include "libANGLE/validationES3.h"
#include "libANGLE/validationES31.h"
#include "libANGLE/validationES32.h"
#include "libANGLE/validationESEXT.h"
#include "libANGLE/validationGL42_autogen.h"
#include "libGLESv2/global_state.h"
namespace gl
{
void GL_APIENTRY BindImageTexture(GLuint unit,
GLuint texture,
GLint level,
GLboolean layered,
GLint layer,
GLenum access,
GLenum format)
{
Context *context = GetValidGlobalContext();
EVENT("glBindImageTexture",
"context = %d, GLuint unit = %u, GLuint texture = %u, GLint level = %d, GLboolean "
"layered = %s, GLint layer = %d, GLenum access = %s, GLenum format = %s",
CID(context), unit, texture, level, GLbooleanToString(layered), layer,
GLenumToString(GLenumGroup::BufferAccessARB, access),
GLenumToString(GLenumGroup::InternalFormat, format));
if (context)
{
TextureID texturePacked = FromGL<TextureID>(texture);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid = (context->skipValidation() ||
ValidateBindImageTexture(context, unit, texturePacked, level, layered,
layer, access, format));
if (isCallValid)
{
context->bindImageTexture(unit, texturePacked, level, layered, layer, access, format);
}
ANGLE_CAPTURE(BindImageTexture, isCallValid, context, unit, texturePacked, level, layered,
layer, access, format);
}
}
void GL_APIENTRY DrawArraysInstancedBaseInstance(GLenum mode,
GLint first,
GLsizei count,
GLsizei instancecount,
GLuint baseinstance)
{
Context *context = GetValidGlobalContext();
EVENT("glDrawArraysInstancedBaseInstance",
"context = %d, GLenum mode = %s, GLint first = %d, GLsizei count = %d, GLsizei "
"instancecount = %d, GLuint baseinstance = %u",
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), first, count,
instancecount, baseinstance);
if (context)
{
PrimitiveMode modePacked = FromGL<PrimitiveMode>(mode);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid = (context->skipValidation() ||
ValidateDrawArraysInstancedBaseInstance(
context, modePacked, first, count, instancecount, baseinstance));
if (isCallValid)
{
context->drawArraysInstancedBaseInstance(modePacked, first, count, instancecount,
baseinstance);
}
ANGLE_CAPTURE(DrawArraysInstancedBaseInstance, isCallValid, context, modePacked, first,
count, instancecount, baseinstance);
}
}
void GL_APIENTRY DrawElementsInstancedBaseInstance(GLenum mode,
GLsizei count,
GLenum type,
const void *indices,
GLsizei instancecount,
GLuint baseinstance)
{
Context *context = GetValidGlobalContext();
EVENT("glDrawElementsInstancedBaseInstance",
"context = %d, GLenum mode = %s, GLsizei count = %d, GLenum type = %s, const void "
"*indices = 0x%016" PRIxPTR ", GLsizei instancecount = %d, GLuint baseinstance = %u",
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), count,
GLenumToString(GLenumGroup::PrimitiveType, type), (uintptr_t)indices, instancecount,
baseinstance);
if (context)
{
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid = (context->skipValidation() ||
ValidateDrawElementsInstancedBaseInstance(
context, mode, count, type, indices, instancecount, baseinstance));
if (isCallValid)
{
context->drawElementsInstancedBaseInstance(mode, count, type, indices, instancecount,
baseinstance);
}
ANGLE_CAPTURE(DrawElementsInstancedBaseInstance, isCallValid, context, mode, count, type,
indices, instancecount, baseinstance);
}
}
void GL_APIENTRY DrawElementsInstancedBaseVertexBaseInstance(GLenum mode,
GLsizei count,
GLenum type,
const void *indices,
GLsizei instancecount,
GLint basevertex,
GLuint baseinstance)
{
Context *context = GetValidGlobalContext();
EVENT("glDrawElementsInstancedBaseVertexBaseInstance",
"context = %d, GLenum mode = %s, GLsizei count = %d, GLenum type = %s, const void "
"*indices = 0x%016" PRIxPTR
", GLsizei instancecount = %d, GLint basevertex = %d, GLuint baseinstance = %u",
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), count,
GLenumToString(GLenumGroup::PrimitiveType, type), (uintptr_t)indices, instancecount,
basevertex, baseinstance);
if (context)
{
PrimitiveMode modePacked = FromGL<PrimitiveMode>(mode);
DrawElementsType typePacked = FromGL<DrawElementsType>(type);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid =
(context->skipValidation() || ValidateDrawElementsInstancedBaseVertexBaseInstance(
context, modePacked, count, typePacked, indices,
instancecount, basevertex, baseinstance));
if (isCallValid)
{
context->drawElementsInstancedBaseVertexBaseInstance(
modePacked, count, typePacked, indices, instancecount, basevertex, baseinstance);
}
ANGLE_CAPTURE(DrawElementsInstancedBaseVertexBaseInstance, isCallValid, context, modePacked,
count, typePacked, indices, instancecount, basevertex, baseinstance);
}
}
void GL_APIENTRY DrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount)
{
Context *context = GetValidGlobalContext();
EVENT("glDrawTransformFeedbackInstanced",
"context = %d, GLenum mode = %s, GLuint id = %u, GLsizei instancecount = %d",
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), id, instancecount);
if (context)
{
TransformFeedbackID idPacked = FromGL<TransformFeedbackID>(id);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid =
(context->skipValidation() ||
ValidateDrawTransformFeedbackInstanced(context, mode, idPacked, instancecount));
if (isCallValid)
{
context->drawTransformFeedbackInstanced(mode, idPacked, instancecount);
}
ANGLE_CAPTURE(DrawTransformFeedbackInstanced, isCallValid, context, mode, idPacked,
instancecount);
}
}
void GL_APIENTRY DrawTransformFeedbackStreamInstanced(GLenum mode,
GLuint id,
GLuint stream,
GLsizei instancecount)
{
Context *context = GetValidGlobalContext();
EVENT("glDrawTransformFeedbackStreamInstanced",
"context = %d, GLenum mode = %s, GLuint id = %u, GLuint stream = %u, GLsizei "
"instancecount = %d",
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), id, stream,
instancecount);
if (context)
{
TransformFeedbackID idPacked = FromGL<TransformFeedbackID>(id);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid =
(context->skipValidation() || ValidateDrawTransformFeedbackStreamInstanced(
context, mode, idPacked, stream, instancecount));
if (isCallValid)
{
context->drawTransformFeedbackStreamInstanced(mode, idPacked, stream, instancecount);
}
ANGLE_CAPTURE(DrawTransformFeedbackStreamInstanced, isCallValid, context, mode, idPacked,
stream, instancecount);
}
}
void GL_APIENTRY GetActiveAtomicCounterBufferiv(GLuint program,
GLuint bufferIndex,
GLenum pname,
GLint *params)
{
Context *context = GetValidGlobalContext();
EVENT("glGetActiveAtomicCounterBufferiv",
"context = %d, GLuint program = %u, GLuint bufferIndex = %u, GLenum pname = %s, GLint "
"*params = 0x%016" PRIxPTR "",
CID(context), program, bufferIndex,
GLenumToString(GLenumGroup::AtomicCounterBufferPName, pname), (uintptr_t)params);
if (context)
{
ShaderProgramID programPacked = FromGL<ShaderProgramID>(program);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid =
(context->skipValidation() || ValidateGetActiveAtomicCounterBufferiv(
context, programPacked, bufferIndex, pname, params));
if (isCallValid)
{
context->getActiveAtomicCounterBufferiv(programPacked, bufferIndex, pname, params);
}
ANGLE_CAPTURE(GetActiveAtomicCounterBufferiv, isCallValid, context, programPacked,
bufferIndex, pname, params);
}
}
void GL_APIENTRY GetInternalformativ(GLenum target,
GLenum internalformat,
GLenum pname,
GLsizei bufSize,
GLint *params)
{
Context *context = GetValidGlobalContext();
EVENT("glGetInternalformativ",
"context = %d, GLenum target = %s, GLenum internalformat = %s, GLenum pname = %s, "
"GLsizei bufSize = %d, GLint *params = 0x%016" PRIxPTR "",
CID(context), GLenumToString(GLenumGroup::TextureTarget, target),
GLenumToString(GLenumGroup::InternalFormat, internalformat),
GLenumToString(GLenumGroup::InternalFormatPName, pname), bufSize, (uintptr_t)params);
if (context)
{
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid =
(context->skipValidation() ||
ValidateGetInternalformativ(context, target, internalformat, pname, bufSize, params));
if (isCallValid)
{
context->getInternalformativ(target, internalformat, pname, bufSize, params);
}
ANGLE_CAPTURE(GetInternalformativ, isCallValid, context, target, internalformat, pname,
bufSize, params);
}
}
void GL_APIENTRY MemoryBarrier(GLbitfield barriers)
{
Context *context = GetValidGlobalContext();
EVENT("glMemoryBarrier", "context = %d, GLbitfield barriers = %s", CID(context),
GLbitfieldToString(GLenumGroup::MemoryBarrierMask, barriers).c_str());
if (context)
{
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid = (context->skipValidation() || ValidateMemoryBarrier(context, barriers));
if (isCallValid)
{
context->memoryBarrier(barriers);
}
ANGLE_CAPTURE(MemoryBarrier, isCallValid, context, barriers);
}
}
void GL_APIENTRY TexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
{
Context *context = GetValidGlobalContext();
EVENT("glTexStorage1D",
"context = %d, GLenum target = %s, GLsizei levels = %d, GLenum internalformat = %s, "
"GLsizei width = %d",
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), levels,
GLenumToString(GLenumGroup::InternalFormat, internalformat), width);
if (context)
{
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid = (context->skipValidation() ||
ValidateTexStorage1D(context, target, levels, internalformat, width));
if (isCallValid)
{
context->texStorage1D(target, levels, internalformat, width);
}
ANGLE_CAPTURE(TexStorage1D, isCallValid, context, target, levels, internalformat, width);
}
}
void GL_APIENTRY
TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
{
Context *context = GetValidGlobalContext();
EVENT("glTexStorage2D",
"context = %d, GLenum target = %s, GLsizei levels = %d, GLenum internalformat = %s, "
"GLsizei width = %d, GLsizei height = %d",
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), levels,
GLenumToString(GLenumGroup::InternalFormat, internalformat), width, height);
if (context)
{
TextureType targetPacked = FromGL<TextureType>(target);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid =
(context->skipValidation() ||
ValidateTexStorage2D(context, targetPacked, levels, internalformat, width, height));
if (isCallValid)
{
context->texStorage2D(targetPacked, levels, internalformat, width, height);
}
ANGLE_CAPTURE(TexStorage2D, isCallValid, context, targetPacked, levels, internalformat,
width, height);
}
}
void GL_APIENTRY TexStorage3D(GLenum target,
GLsizei levels,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLsizei depth)
{
Context *context = GetValidGlobalContext();
EVENT("glTexStorage3D",
"context = %d, GLenum target = %s, GLsizei levels = %d, GLenum internalformat = %s, "
"GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d",
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), levels,
GLenumToString(GLenumGroup::InternalFormat, internalformat), width, height, depth);
if (context)
{
TextureType targetPacked = FromGL<TextureType>(target);
std::unique_lock<std::mutex> shareContextLock = GetShareGroupLock(context);
bool isCallValid = (context->skipValidation() ||
ValidateTexStorage3D(context, targetPacked, levels, internalformat,
width, height, depth));
if (isCallValid)
{
context->texStorage3D(targetPacked, levels, internalformat, width, height, depth);
}
ANGLE_CAPTURE(TexStorage3D, isCallValid, context, targetPacked, levels, internalformat,
width, height, depth);
}
}
} // namespace gl