Commit ee7e1e21 by Martin Radev Committed by Commit Bot

Add ES31 entry points as function stubs

Entry points were generated using scripts which take the new function declarations from gl31.h, find the newly added functions and output the new function declarations and defitions. BUG=angleproject:1442 TEST=angle_unittests Change-Id: I2d77eb4cc24873a31cb2745b7b82bf611d5058c6 Reviewed-on: https://chromium-review.googlesource.com/361291Reviewed-by: 's avatarOlli Etuaho <oetuaho@nvidia.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
parent 03d863c8
......@@ -85,4 +85,8 @@
#define ANGLE_USE_SSE
#endif
// The MemoryBarrier function name collides with a macro under Windows
// We will undef the macro so that the function name does not get replaced
#undef MemoryBarrier
#endif // COMMON_PLATFORM_H_
......@@ -619,6 +619,8 @@
'libGLESv2/entry_points_gles_2_0_ext.h',
'libGLESv2/entry_points_gles_3_0.cpp',
'libGLESv2/entry_points_gles_3_0.h',
'libGLESv2/entry_points_gles_3_1.cpp',
'libGLESv2/entry_points_gles_3_1.h',
'libGLESv2/global_state.cpp',
'libGLESv2/global_state.h',
'libGLESv2/libGLESv2.cpp',
......
......@@ -11,6 +11,7 @@
#include "libGLESv2/entry_points_gles_2_0.h"
#include "libGLESv2/entry_points_gles_2_0_ext.h"
#include "libGLESv2/entry_points_gles_3_0.h"
#include "libGLESv2/entry_points_gles_3_1.h"
#include "libGLESv2/global_state.h"
#include "libANGLE/Context.h"
......@@ -1583,6 +1584,76 @@ __eglMustCastToProperFunctionPointerType EGLAPIENTRY GetProcAddress(const char *
INSERT_PROC_ADDRESS(gl, TexStorage3D);
INSERT_PROC_ADDRESS(gl, GetInternalformativ);
// GLES31 core
INSERT_PROC_ADDRESS(gl, DispatchCompute);
INSERT_PROC_ADDRESS(gl, DispatchComputeIndirect);
INSERT_PROC_ADDRESS(gl, DrawArraysIndirect);
INSERT_PROC_ADDRESS(gl, DrawElementsIndirect);
INSERT_PROC_ADDRESS(gl, FramebufferParameteri);
INSERT_PROC_ADDRESS(gl, GetFramebufferParameteriv);
INSERT_PROC_ADDRESS(gl, GetProgramInterfaceiv);
INSERT_PROC_ADDRESS(gl, GetProgramResourceIndex);
INSERT_PROC_ADDRESS(gl, GetProgramResourceName);
INSERT_PROC_ADDRESS(gl, GetProgramResourceiv);
INSERT_PROC_ADDRESS(gl, GetProgramResourceLocation);
INSERT_PROC_ADDRESS(gl, UseProgramStages);
INSERT_PROC_ADDRESS(gl, ActiveShaderProgram);
INSERT_PROC_ADDRESS(gl, CreateShaderProgramv);
INSERT_PROC_ADDRESS(gl, BindProgramPipeline);
INSERT_PROC_ADDRESS(gl, DeleteProgramPipelines);
INSERT_PROC_ADDRESS(gl, GenProgramPipelines);
INSERT_PROC_ADDRESS(gl, IsProgramPipeline);
INSERT_PROC_ADDRESS(gl, GetProgramPipelineiv);
INSERT_PROC_ADDRESS(gl, ProgramUniform1i);
INSERT_PROC_ADDRESS(gl, ProgramUniform2i);
INSERT_PROC_ADDRESS(gl, ProgramUniform3i);
INSERT_PROC_ADDRESS(gl, ProgramUniform4i);
INSERT_PROC_ADDRESS(gl, ProgramUniform1ui);
INSERT_PROC_ADDRESS(gl, ProgramUniform2ui);
INSERT_PROC_ADDRESS(gl, ProgramUniform3ui);
INSERT_PROC_ADDRESS(gl, ProgramUniform4ui);
INSERT_PROC_ADDRESS(gl, ProgramUniform1f);
INSERT_PROC_ADDRESS(gl, ProgramUniform2f);
INSERT_PROC_ADDRESS(gl, ProgramUniform3f);
INSERT_PROC_ADDRESS(gl, ProgramUniform4f);
INSERT_PROC_ADDRESS(gl, ProgramUniform1iv);
INSERT_PROC_ADDRESS(gl, ProgramUniform2iv);
INSERT_PROC_ADDRESS(gl, ProgramUniform3iv);
INSERT_PROC_ADDRESS(gl, ProgramUniform4iv);
INSERT_PROC_ADDRESS(gl, ProgramUniform1uiv);
INSERT_PROC_ADDRESS(gl, ProgramUniform2uiv);
INSERT_PROC_ADDRESS(gl, ProgramUniform3uiv);
INSERT_PROC_ADDRESS(gl, ProgramUniform4uiv);
INSERT_PROC_ADDRESS(gl, ProgramUniform1fv);
INSERT_PROC_ADDRESS(gl, ProgramUniform2fv);
INSERT_PROC_ADDRESS(gl, ProgramUniform3fv);
INSERT_PROC_ADDRESS(gl, ProgramUniform4fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix2fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix3fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix4fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix2x3fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix3x2fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix2x4fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix4x2fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix3x4fv);
INSERT_PROC_ADDRESS(gl, ProgramUniformMatrix4x3fv);
INSERT_PROC_ADDRESS(gl, ValidateProgramPipeline);
INSERT_PROC_ADDRESS(gl, GetProgramPipelineInfoLog);
INSERT_PROC_ADDRESS(gl, BindImageTexture);
INSERT_PROC_ADDRESS(gl, GetBooleani_v);
INSERT_PROC_ADDRESS(gl, MemoryBarrier);
INSERT_PROC_ADDRESS(gl, MemoryBarrierByRegion);
INSERT_PROC_ADDRESS(gl, TexStorage2DMultisample);
INSERT_PROC_ADDRESS(gl, GetMultisamplefv);
INSERT_PROC_ADDRESS(gl, SampleMaski);
INSERT_PROC_ADDRESS(gl, GetTexLevelParameteriv);
INSERT_PROC_ADDRESS(gl, GetTexLevelParameterfv);
INSERT_PROC_ADDRESS(gl, BindVertexBuffer);
INSERT_PROC_ADDRESS(gl, VertexAttribFormat);
INSERT_PROC_ADDRESS(gl, VertexAttribIFormat);
INSERT_PROC_ADDRESS(gl, VertexAttribBinding);
INSERT_PROC_ADDRESS(gl, VertexBindingDivisor);
// EGL 1.0
INSERT_PROC_ADDRESS(egl, ChooseConfig);
INSERT_PROC_ADDRESS(egl, CopyBuffers);
......
//
// Copyright(c) 2016 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_3_1.cpp : Implements the GLES 3.1 Entry point.
#include "libGLESv2/entry_points_gles_3_1.h"
#include "libGLESv2/global_state.h"
#include "libANGLE/Context.h"
#include "libANGLE/Error.h"
#include "libANGLE/validationES3.h"
#include "common/debug.h"
namespace gl
{
void GL_APIENTRY DispatchCompute(GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ)
{
EVENT("(GLuint numGroupsX = %u, GLuint numGroupsY = %u, numGroupsZ = %u", numGroupsX,
numGroupsY, numGroupsZ);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY DispatchComputeIndirect(GLintptr indirect)
{
EVENT("(GLintptr indirect = %d)", indirect);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY DrawArraysIndirect(GLenum mode, const void *indirect)
{
EVENT("(GLenum mode = 0x%X, const void* indirect)", mode, indirect);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY DrawElementsIndirect(GLenum mode, GLenum type, const void *indirect)
{
EVENT("(GLenum mode = 0x%X, GLenum type = 0x%X, const void* indirect)", mode, type, indirect);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY FramebufferParameteri(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)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetFramebufferParameteriv(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)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetProgramInterfaceiv(GLuint program,
GLenum programInterface,
GLenum pname,
GLint *params)
{
EVENT(
"(GLuint program = %u, GLenum programInterface = 0x%X, GLenum pname = 0x%X, GLint* params "
"= 0x%0.8p)",
program, programInterface, pname, params);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
GLuint GL_APIENTRY GetProgramResourceIndex(GLuint program,
GLenum programInterface,
const GLchar *name)
{
EVENT("(GLuint program = %u, GLenum programInterface = 0x%X, const GLchar* name = 0x%0.8p)",
program, programInterface, name);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
return 0u;
}
void GL_APIENTRY GetProgramResourceName(GLuint program,
GLenum programInterface,
GLuint index,
GLsizei bufSize,
GLsizei *length,
GLchar *name)
{
EVENT(
"(GLuint program = %u, GLenum programInterface = 0x%X, GLuint index = %u, GLsizei bufSize "
"= %d, GLsizei* length = 0x%0.8p, GLchar* name = 0x%0.8p)",
program, programInterface, index, bufSize, length, name);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetProgramResourceiv(GLuint program,
GLenum programInterface,
GLuint index,
GLsizei propCount,
const GLenum *props,
GLsizei bufSize,
GLsizei *length,
GLint *params)
{
EVENT(
"(GLuint program = %u, GLenum programInterface = 0x%X, GLuint index = %u, GLsizei "
"propCount = %d, const GLenum* props = 0x%0.8p, GLsizei bufSize = %d, GLsizei* length = "
"0x%0.8p, GLint* params = 0x%0.8p)",
program, programInterface, index, propCount, props, bufSize, length, params);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
GLint GL_APIENTRY GetProgramResourceLocation(GLuint program,
GLenum programInterface,
const GLchar *name)
{
EVENT("(GLuint program = %u, GLenum programInterface = 0x%X, const GLchar* name = 0x%0.8p)",
program, programInterface, name);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
return 0;
}
void GL_APIENTRY UseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
{
EVENT("(GLuint pipeline = %u, GLbitfield stages = 0x%X, GLuint program = %u)", pipeline, stages,
program);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ActiveShaderProgram(GLuint pipeline, GLuint program)
{
EVENT("(GLuint pipeline = %u, GLuint program = %u)", pipeline, program);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
GLuint GL_APIENTRY CreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings)
{
EVENT("(GLenum type = %0x%X, GLsizei count = %d, const GLchar *const* = 0x%0.8p)", type, count,
strings);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
return 0u;
}
void GL_APIENTRY BindProgramPipeline(GLuint pipeline)
{
EVENT("(GLuint pipeline = %u)", pipeline);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY DeleteProgramPipelines(GLsizei n, const GLuint *pipelines)
{
EVENT("(GLsizei n = %d, const GLuint* pipelines = 0x%0.8p)", n, pipelines);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GenProgramPipelines(GLsizei n, GLuint *pipelines)
{
EVENT("(GLsizei n = %d, GLuint* pipelines = 0x%0.8p)", n, pipelines);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
GLboolean GL_APIENTRY IsProgramPipeline(GLuint pipeline)
{
EVENT("(GLuint pipeline = %u)", pipeline);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
return false;
}
void GL_APIENTRY GetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
{
EVENT("(GLuint pipeline = %u, GLenum pname = 0x%X, GLint* params = 0x%0.8p)", pipeline, pname,
params);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform1i(GLuint program, GLint location, GLint v0)
{
EVENT("(GLuint program = %u, GLint location = %d, GLint v0 = %d)", program, location, v0);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
{
EVENT("(GLuint program = %u, GLint location = %d, GLint v0 = %d, GLint v1 = %d)", program,
location, v0, v1);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
{
EVENT("(GLuint program = %u, GLint location = %d, GLint v0 = %d, GLint v1 = %d, GLint v2 = %d)",
program, location, v0, v1, v2);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY
ProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLint v0 = %d, GLint v1 = %d, GLint v2 = %d, "
"GLint v3 = %d)",
program, location, v0, v1, v2, v3);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform1ui(GLuint program, GLint location, GLuint v0)
{
EVENT("(GLuint program = %u, GLint location = %d, GLuint v0 = %u)", program, location, v0);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)
{
EVENT("(GLuint program = %u, GLint location = %d, GLuint v0 = %u, GLuint v1 = %u)", program,
location, v0, v1);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLuint v0 = %u, GLuint v1 = %u, GLuint v2 = "
"%u)",
program, location, v0, v1, v2);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY
ProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLuint v0 = %u, GLuint v1 = %u, GLuint v2 = "
"%u, GLuint v3 = %u)",
program, location, v0, v1, v2, v3);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform1f(GLuint program, GLint location, GLfloat v0)
{
EVENT("(GLuint program = %u, GLint location = %d, GLfloat v0 = %g)", program, location, v0);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
{
EVENT("(GLuint program = %u, GLint location = %d, GLfloat v0 = %g, GLfloat v1 = %g)", program,
location, v0, v1);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY
ProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLfloat v0 = %g, GLfloat v1 = %g, GLfloat v2 = "
"%g)",
program, location, v0, v1, v2);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY
ProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLfloat v0 = %g, GLfloat v1 = %g, GLfloat v2 = "
"%g, GLfloat v3 = %g)",
program, location, v0, v1, v2, v3);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform1iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform2iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform3iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform4iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform1uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLuint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform2uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLuint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform3uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLuint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform4uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLuint* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform1fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLfloat* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform2fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLfloat* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform3fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLfloat* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniform4fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, const GLfloat* value = "
"0x%0.8p)",
program, location, count, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix2x3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix3x2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix2x4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix4x2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix3x4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ProgramUniformMatrix4x3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
EVENT(
"(GLuint program = %u, GLint location = %d, GLsizei count = %d, GLboolean transpose = %u, "
"const GLfloat* value = 0x%0.8p)",
program, location, count, transpose, value);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY ValidateProgramPipeline(GLuint pipeline)
{
EVENT("(GLuint pipeline = %u)", pipeline);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetProgramPipelineInfoLog(GLuint pipeline,
GLsizei bufSize,
GLsizei *length,
GLchar *infoLog)
{
EVENT(
"(GLuint pipeline = %u, GLsizei bufSize = %d, GLsizei* length = 0x%0.8p, GLchar* infoLog = "
"0x%0.8p)",
pipeline, bufSize, length, infoLog);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY BindImageTexture(GLuint unit,
GLuint texture,
GLint level,
GLboolean layered,
GLint layer,
GLenum access,
GLenum format)
{
EVENT(
"(GLuint unit = %u, GLuint texture = %u, GLint level = %d, GLboolean layered = %u, GLint "
"layer = %d, GLenum access = 0x%X, GLenum format = 0x%X)",
unit, texture, level, layered, layer, access, format);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetBooleani_v(GLenum target, GLuint index, GLboolean *data)
{
EVENT("(GLenum target = 0x%X, GLuint index = %u, GLboolean* data = 0x%0.8p)", target, index,
data);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY MemoryBarrier(GLbitfield barriers)
{
EVENT("(GLbitfield barriers = 0x%X)", barriers);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY MemoryBarrierByRegion(GLbitfield barriers)
{
EVENT("(GLbitfield barriers = 0x%X)", barriers);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY TexStorage2DMultisample(GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLboolean fixedsamplelocations)
{
EVENT(
"(GLenum target = 0x%X, GLsizei samples = %d, GLenum internalformat = 0x%X, GLsizei width "
"= %d, GLsizei height = %d, GLboolean fixedsamplelocations = %u)",
target, samples, internalformat, width, height, fixedsamplelocations);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
{
EVENT("(GLenum pname = 0x%X, GLuint index = %u, GLfloat* val = 0x%0.8p)", pname, index, val);
UNIMPLEMENTED();
}
void GL_APIENTRY SampleMaski(GLuint maskNumber, GLbitfield mask)
{
EVENT("(GLuint maskNumber = %u, GLbitfield mask = 0x%X)", maskNumber, mask);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY GetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
{
EVENT("(GLenum target = 0x%X, GLint level = %d, GLenum pname = 0x%X, GLint* params = 0x%0.8p)",
target, level, pname, params);
UNIMPLEMENTED();
}
void GL_APIENTRY GetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
{
EVENT(
"(GLenum target = 0x%X, GLint level = %d, GLenum pname = 0x%X, GLfloat* params = 0x%0.8p)",
target, level, pname, params);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY BindVertexBuffer(GLuint bindingindex,
GLuint buffer,
GLintptr offset,
GLsizei stride)
{
EVENT(
"(GLuint bindingindex = %u, GLuint buffer = %u, GLintptr offset = %d, GLsizei stride = %d)",
bindingindex, buffer, offset, stride);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY VertexAttribFormat(GLuint attribindex,
GLint size,
GLenum type,
GLboolean normalized,
GLuint relativeoffset)
{
EVENT(
"(GLuint attribindex = %u, GLint size = %d, GLenum type = 0x%X, GLboolean normalized = %u, "
"GLuint relativeoffset = %u)",
attribindex, size, type, normalized, relativeoffset);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY VertexAttribIFormat(GLuint attribindex,
GLint size,
GLenum type,
GLuint relativeoffset)
{
EVENT(
"(GLuint attribindex = %u, GLint size = %d, GLenum type = 0x%X, GLuint relativeoffset = "
"%u)",
attribindex, size, type, relativeoffset);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY VertexAttribBinding(GLuint attribindex, GLuint bindingindex)
{
EVENT("(GLuint attribindex = %u, GLuint bindingindex = %u)", attribindex, bindingindex);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
void GL_APIENTRY VertexBindingDivisor(GLuint bindingindex, GLuint divisor)
{
EVENT("(GLuint bindingindex = %u, GLuint divisor = %u)", bindingindex, divisor);
Context *context = GetValidGlobalContext();
if (context)
{
if (!context->skipValidation())
{
context->handleError(Error(GL_INVALID_OPERATION, "Entry point not implemented"));
}
UNIMPLEMENTED();
}
}
} // namespace gl
//
// Copyright(c) 2016 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_3_1.h : Defines the GLES 3.1 entry points.
#ifndef LIBGLESV2_ENTRYPOINTGLES31_H_
#define LIBGLESV2_ENTRYPOINTGLES31_H_
#include <GLES3/gl31.h>
#include <export.h>
// we include the platform.h header since it undefines the conflicting MemoryBarrier macro
#include "common/platform.h"
namespace gl
{
ANGLE_EXPORT void GL_APIENTRY DispatchCompute(GLuint numGroupsX,
GLuint numGroupsY,
GLuint numGroupsZ);
ANGLE_EXPORT void GL_APIENTRY DispatchComputeIndirect(GLintptr indirect);
ANGLE_EXPORT void GL_APIENTRY DrawArraysIndirect(GLenum mode, const void *indirect);
ANGLE_EXPORT void GL_APIENTRY DrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);
ANGLE_EXPORT void GL_APIENTRY FramebufferParameteri(GLenum target, GLenum pname, GLint param);
ANGLE_EXPORT void GL_APIENTRY GetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetProgramInterfaceiv(GLuint program,
GLenum programInterface,
GLenum pname,
GLint *params);
ANGLE_EXPORT GLuint GL_APIENTRY GetProgramResourceIndex(GLuint program,
GLenum programInterface,
const GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetProgramResourceName(GLuint program,
GLenum programInterface,
GLuint index,
GLsizei bufSize,
GLsizei *length,
GLchar *name);
ANGLE_EXPORT void GL_APIENTRY GetProgramResourceiv(GLuint program,
GLenum programInterface,
GLuint index,
GLsizei propCount,
const GLenum *props,
GLsizei bufSize,
GLsizei *length,
GLint *params);
ANGLE_EXPORT GLint GL_APIENTRY GetProgramResourceLocation(GLuint program,
GLenum programInterface,
const GLchar *name);
ANGLE_EXPORT void GL_APIENTRY UseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
ANGLE_EXPORT void GL_APIENTRY ActiveShaderProgram(GLuint pipeline, GLuint program);
ANGLE_EXPORT GLuint GL_APIENTRY CreateShaderProgramv(GLenum type,
GLsizei count,
const GLchar *const *strings);
ANGLE_EXPORT void GL_APIENTRY BindProgramPipeline(GLuint pipeline);
ANGLE_EXPORT void GL_APIENTRY DeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
ANGLE_EXPORT void GL_APIENTRY GenProgramPipelines(GLsizei n, GLuint *pipelines);
ANGLE_EXPORT GLboolean GL_APIENTRY IsProgramPipeline(GLuint pipeline);
ANGLE_EXPORT void GL_APIENTRY GetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform1i(GLuint program, GLint location, GLint v0);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
ANGLE_EXPORT void GL_APIENTRY
ProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
ANGLE_EXPORT void GL_APIENTRY
ProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform1ui(GLuint program, GLint location, GLuint v0);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform2ui(GLuint program,
GLint location,
GLuint v0,
GLuint v1);
ANGLE_EXPORT void GL_APIENTRY
ProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
ANGLE_EXPORT void GL_APIENTRY
ProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform1f(GLuint program, GLint location, GLfloat v0);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform2f(GLuint program,
GLint location,
GLfloat v0,
GLfloat v1);
ANGLE_EXPORT void GL_APIENTRY
ProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
ANGLE_EXPORT void GL_APIENTRY
ProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform1iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform2iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform3iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform4iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform1uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform2uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform3uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform4uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform1fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform2fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform3fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniform4fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix2x3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix3x2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix2x4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix4x2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix3x4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ProgramUniformMatrix4x3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value);
ANGLE_EXPORT void GL_APIENTRY ValidateProgramPipeline(GLuint pipeline);
ANGLE_EXPORT void GL_APIENTRY GetProgramPipelineInfoLog(GLuint pipeline,
GLsizei bufSize,
GLsizei *length,
GLchar *infoLog);
ANGLE_EXPORT void GL_APIENTRY BindImageTexture(GLuint unit,
GLuint texture,
GLint level,
GLboolean layered,
GLint layer,
GLenum access,
GLenum format);
ANGLE_EXPORT void GL_APIENTRY GetBooleani_v(GLenum target, GLuint index, GLboolean *data);
ANGLE_EXPORT void GL_APIENTRY MemoryBarrier(GLbitfield barriers);
ANGLE_EXPORT void GL_APIENTRY MemoryBarrierByRegion(GLbitfield barriers);
ANGLE_EXPORT void GL_APIENTRY TexStorage2DMultisample(GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLboolean fixedsamplelocations);
ANGLE_EXPORT void GL_APIENTRY GetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
ANGLE_EXPORT void GL_APIENTRY SampleMaski(GLuint maskNumber, GLbitfield mask);
ANGLE_EXPORT void GL_APIENTRY GetTexLevelParameteriv(GLenum target,
GLint level,
GLenum pname,
GLint *params);
ANGLE_EXPORT void GL_APIENTRY GetTexLevelParameterfv(GLenum target,
GLint level,
GLenum pname,
GLfloat *params);
ANGLE_EXPORT void GL_APIENTRY BindVertexBuffer(GLuint bindingindex,
GLuint buffer,
GLintptr offset,
GLsizei stride);
ANGLE_EXPORT void GL_APIENTRY VertexAttribFormat(GLuint attribindex,
GLint size,
GLenum type,
GLboolean normalized,
GLuint relativeoffset);
ANGLE_EXPORT void GL_APIENTRY VertexAttribIFormat(GLuint attribindex,
GLint size,
GLenum type,
GLuint relativeoffset);
ANGLE_EXPORT void GL_APIENTRY VertexAttribBinding(GLuint attribindex, GLuint bindingindex);
ANGLE_EXPORT void GL_APIENTRY VertexBindingDivisor(GLuint bindingindex, GLuint divisor);
};
#endif // LIBGLESV2_ENTRYPOINTGLES31_H_
......@@ -9,6 +9,7 @@
#include "libGLESv2/entry_points_gles_2_0.h"
#include "libGLESv2/entry_points_gles_2_0_ext.h"
#include "libGLESv2/entry_points_gles_3_0.h"
#include "libGLESv2/entry_points_gles_3_1.h"
#include "common/event_tracer.h"
......@@ -1764,4 +1765,467 @@ void GL_APIENTRY glProgramPathFragmentInputGenCHROMIUM(GLuint program,
{
gl::ProgramPathFragmentInputGenCHROMIUM(program, location, genMode, components, coeffs);
}
// GLES 3.1
void GL_APIENTRY glDispatchCompute(GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ)
{
gl::DispatchCompute(numGroupsX, numGroupsY, numGroupsZ);
}
void GL_APIENTRY glDispatchComputeIndirect(GLintptr indirect)
{
gl::DispatchComputeIndirect(indirect);
}
void GL_APIENTRY glDrawArraysIndirect(GLenum mode, const void *indirect)
{
gl::DrawArraysIndirect(mode, indirect);
}
void GL_APIENTRY glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect)
{
gl::DrawElementsIndirect(mode, type, indirect);
}
void GL_APIENTRY glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
{
gl::FramebufferParameteri(target, pname, param);
}
void GL_APIENTRY glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params)
{
gl::GetFramebufferParameteriv(target, pname, params);
}
void GL_APIENTRY glGetProgramInterfaceiv(GLuint program,
GLenum programInterface,
GLenum pname,
GLint *params)
{
gl::GetProgramInterfaceiv(program, programInterface, pname, params);
}
GLuint GL_APIENTRY glGetProgramResourceIndex(GLuint program,
GLenum programInterface,
const GLchar *name)
{
return gl::GetProgramResourceIndex(program, programInterface, name);
}
void GL_APIENTRY glGetProgramResourceName(GLuint program,
GLenum programInterface,
GLuint index,
GLsizei bufSize,
GLsizei *length,
GLchar *name)
{
gl::GetProgramResourceName(program, programInterface, index, bufSize, length, name);
}
void GL_APIENTRY glGetProgramResourceiv(GLuint program,
GLenum programInterface,
GLuint index,
GLsizei propCount,
const GLenum *props,
GLsizei bufSize,
GLsizei *length,
GLint *params)
{
gl::GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length,
params);
}
GLint GL_APIENTRY glGetProgramResourceLocation(GLuint program,
GLenum programInterface,
const GLchar *name)
{
return gl::GetProgramResourceLocation(program, programInterface, name);
}
void GL_APIENTRY glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
{
gl::UseProgramStages(pipeline, stages, program);
}
void GL_APIENTRY glActiveShaderProgram(GLuint pipeline, GLuint program)
{
gl::ActiveShaderProgram(pipeline, program);
}
GLuint GL_APIENTRY glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings)
{
return gl::CreateShaderProgramv(type, count, strings);
}
void GL_APIENTRY glBindProgramPipeline(GLuint pipeline)
{
gl::BindProgramPipeline(pipeline);
}
void GL_APIENTRY glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines)
{
gl::DeleteProgramPipelines(n, pipelines);
}
void GL_APIENTRY glGenProgramPipelines(GLsizei n, GLuint *pipelines)
{
gl::GenProgramPipelines(n, pipelines);
}
GLboolean GL_APIENTRY glIsProgramPipeline(GLuint pipeline)
{
return gl::IsProgramPipeline(pipeline);
}
void GL_APIENTRY glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
{
gl::GetProgramPipelineiv(pipeline, pname, params);
}
void GL_APIENTRY glProgramUniform1i(GLuint program, GLint location, GLint v0)
{
gl::ProgramUniform1i(program, location, v0);
}
void GL_APIENTRY glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
{
gl::ProgramUniform2i(program, location, v0, v1);
}
void GL_APIENTRY glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
{
gl::ProgramUniform3i(program, location, v0, v1, v2);
}
void GL_APIENTRY
glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
gl::ProgramUniform4i(program, location, v0, v1, v2, v3);
}
void GL_APIENTRY glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
{
gl::ProgramUniform1ui(program, location, v0);
}
void GL_APIENTRY glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)
{
gl::ProgramUniform2ui(program, location, v0, v1);
}
void GL_APIENTRY
glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
{
gl::ProgramUniform3ui(program, location, v0, v1, v2);
}
void GL_APIENTRY
glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
gl::ProgramUniform4ui(program, location, v0, v1, v2, v3);
}
void GL_APIENTRY glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
{
gl::ProgramUniform1f(program, location, v0);
}
void GL_APIENTRY glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
{
gl::ProgramUniform2f(program, location, v0, v1);
}
void GL_APIENTRY
glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
gl::ProgramUniform3f(program, location, v0, v1, v2);
}
void GL_APIENTRY
glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
gl::ProgramUniform4f(program, location, v0, v1, v2, v3);
}
void GL_APIENTRY glProgramUniform1iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
gl::ProgramUniform1iv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform2iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
gl::ProgramUniform2iv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform3iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
gl::ProgramUniform3iv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform4iv(GLuint program,
GLint location,
GLsizei count,
const GLint *value)
{
gl::ProgramUniform4iv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform1uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
gl::ProgramUniform1uiv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform2uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
gl::ProgramUniform2uiv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform3uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
gl::ProgramUniform3uiv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform4uiv(GLuint program,
GLint location,
GLsizei count,
const GLuint *value)
{
gl::ProgramUniform4uiv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform1fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
gl::ProgramUniform1fv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform2fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
gl::ProgramUniform2fv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform3fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
gl::ProgramUniform3fv(program, location, count, value);
}
void GL_APIENTRY glProgramUniform4fv(GLuint program,
GLint location,
GLsizei count,
const GLfloat *value)
{
gl::ProgramUniform4fv(program, location, count, value);
}
void GL_APIENTRY glProgramUniformMatrix2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix2fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix3fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix4fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix2x3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix2x3fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix3x2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix3x2fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix2x4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix2x4fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix4x2fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix4x2fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix3x4fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix3x4fv(program, location, count, transpose, value);
}
void GL_APIENTRY glProgramUniformMatrix4x3fv(GLuint program,
GLint location,
GLsizei count,
GLboolean transpose,
const GLfloat *value)
{
gl::ProgramUniformMatrix4x3fv(program, location, count, transpose, value);
}
void GL_APIENTRY glValidateProgramPipeline(GLuint pipeline)
{
gl::ValidateProgramPipeline(pipeline);
}
void GL_APIENTRY glGetProgramPipelineInfoLog(GLuint pipeline,
GLsizei bufSize,
GLsizei *length,
GLchar *infoLog)
{
gl::GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
}
void GL_APIENTRY glBindImageTexture(GLuint unit,
GLuint texture,
GLint level,
GLboolean layered,
GLint layer,
GLenum access,
GLenum format)
{
gl::BindImageTexture(unit, texture, level, layered, layer, access, format);
}
void GL_APIENTRY glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
{
gl::GetBooleani_v(target, index, data);
}
void GL_APIENTRY glMemoryBarrier(GLbitfield barriers)
{
gl::MemoryBarrier(barriers);
}
void GL_APIENTRY glMemoryBarrierByRegion(GLbitfield barriers)
{
gl::MemoryBarrierByRegion(barriers);
}
void GL_APIENTRY glTexStorage2DMultisample(GLenum target,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height,
GLboolean fixedsamplelocations)
{
gl::TexStorage2DMultisample(target, samples, internalformat, width, height,
fixedsamplelocations);
}
void GL_APIENTRY glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
{
gl::GetMultisamplefv(pname, index, val);
}
void GL_APIENTRY glSampleMaski(GLuint maskNumber, GLbitfield mask)
{
gl::SampleMaski(maskNumber, mask);
}
void GL_APIENTRY glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
{
gl::GetTexLevelParameteriv(target, level, pname, params);
}
void GL_APIENTRY glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
{
gl::GetTexLevelParameterfv(target, level, pname, params);
}
void GL_APIENTRY glBindVertexBuffer(GLuint bindingindex,
GLuint buffer,
GLintptr offset,
GLsizei stride)
{
gl::BindVertexBuffer(bindingindex, buffer, offset, stride);
}
void GL_APIENTRY glVertexAttribFormat(GLuint attribindex,
GLint size,
GLenum type,
GLboolean normalized,
GLuint relativeoffset)
{
gl::VertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
}
void GL_APIENTRY glVertexAttribIFormat(GLuint attribindex,
GLint size,
GLenum type,
GLuint relativeoffset)
{
gl::VertexAttribIFormat(attribindex, size, type, relativeoffset);
}
void GL_APIENTRY glVertexAttribBinding(GLuint attribindex, GLuint bindingindex)
{
gl::VertexAttribBinding(attribindex, bindingindex);
}
void GL_APIENTRY glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)
{
gl::VertexBindingDivisor(bindingindex, divisor);
}
} // extern "C"
......@@ -337,6 +337,76 @@ EXPORTS
glTexStorage3D @282
glGetInternalformativ @283
; GLES 3.1 Functions
glDispatchCompute @345
glDispatchComputeIndirect @346
glDrawArraysIndirect @347
glDrawElementsIndirect @348
glFramebufferParameteri @349
glGetFramebufferParameteriv @350
glGetProgramInterfaceiv @351
glGetProgramResourceIndex @352
glGetProgramResourceName @353
glGetProgramResourceiv @354
glGetProgramResourceLocation @355
glUseProgramStages @356
glActiveShaderProgram @357
glCreateShaderProgramv @358
glBindProgramPipeline @359
glDeleteProgramPipelines @360
glGenProgramPipelines @361
glIsProgramPipeline @362
glGetProgramPipelineiv @363
glProgramUniform1i @364
glProgramUniform2i @365
glProgramUniform3i @366
glProgramUniform4i @367
glProgramUniform1ui @368
glProgramUniform2ui @369
glProgramUniform3ui @370
glProgramUniform4ui @371
glProgramUniform1f @372
glProgramUniform2f @373
glProgramUniform3f @374
glProgramUniform4f @375
glProgramUniform1iv @376
glProgramUniform2iv @377
glProgramUniform3iv @378
glProgramUniform4iv @379
glProgramUniform1uiv @380
glProgramUniform2uiv @381
glProgramUniform3uiv @382
glProgramUniform4uiv @383
glProgramUniform1fv @384
glProgramUniform2fv @385
glProgramUniform3fv @386
glProgramUniform4fv @387
glProgramUniformMatrix2fv @388
glProgramUniformMatrix3fv @389
glProgramUniformMatrix4fv @390
glProgramUniformMatrix2x3fv @391
glProgramUniformMatrix3x2fv @392
glProgramUniformMatrix2x4fv @393
glProgramUniformMatrix4x2fv @394
glProgramUniformMatrix3x4fv @395
glProgramUniformMatrix4x3fv @396
glValidateProgramPipeline @397
glGetProgramPipelineInfoLog @398
glBindImageTexture @399
glGetBooleani_v @400
glMemoryBarrier @401
glMemoryBarrierByRegion @402
glTexStorage2DMultisample @403
glGetMultisamplefv @404
glSampleMaski @405
glGetTexLevelParameteriv @406
glGetTexLevelParameterfv @407
glBindVertexBuffer @408
glVertexAttribFormat @409
glVertexAttribIFormat @410
glVertexAttribBinding @411
glVertexBindingDivisor @412
; ANGLE Platform Implementation
ANGLEPlatformCurrent @290
ANGLEPlatformInitialize @291
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment