Edit

kc3-lang/angle/src/libGL/entry_points_gl_3_1_autogen.cpp

Branch :

  • Show log

    Commit

  • Author : Jonah Ryan-Davis
    Date : 2020-07-24 11:44:02
    Hash : 4f7f4387
    Message : Add entry points for OES/EXT_texture_buffer This extension is core in 3.2 Bug: angleproject:3573 Change-Id: If08736759da2fdc680cfa396d354dbfa97d1a60f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317040 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • src/libGL/entry_points_gl_3_1_autogen.cpp
  • // GENERATED FILE - DO NOT EDIT.
    // Generated by generate_entry_points.py using data from gl.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.
    //
    // entry_points_gl_3_1_autogen.cpp:
    //   Defines the GL 3.1 entry points.
    
    #include "libGL/entry_points_gl_3_1_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/validationGL31_autogen.h"
    #include "libGLESv2/global_state.h"
    
    namespace gl
    {
    void GL_APIENTRY CopyBufferSubData(GLenum readTarget,
                                       GLenum writeTarget,
                                       GLintptr readOffset,
                                       GLintptr writeOffset,
                                       GLsizeiptr size)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glCopyBufferSubData",
              "context = %d, GLenum readTarget = %s, GLenum writeTarget = %s, GLintptr readOffset = "
              "%llu, GLintptr writeOffset = %llu, GLsizeiptr size = %llu",
              CID(context), GLenumToString(GLenumGroup::CopyBufferSubDataTarget, readTarget),
              GLenumToString(GLenumGroup::CopyBufferSubDataTarget, writeTarget),
              static_cast<unsigned long long>(readOffset), static_cast<unsigned long long>(writeOffset),
              static_cast<unsigned long long>(size));
    
        if (context)
        {
            BufferBinding readTargetPacked                        = FromGL<BufferBinding>(readTarget);
            BufferBinding writeTargetPacked                       = FromGL<BufferBinding>(writeTarget);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateCopyBufferSubData(context, readTargetPacked, writeTargetPacked,
                                                          readOffset, writeOffset, size));
            if (isCallValid)
            {
                context->copyBufferSubData(readTargetPacked, writeTargetPacked, readOffset, writeOffset,
                                           size);
            }
            ANGLE_CAPTURE(CopyBufferSubData, isCallValid, context, readTargetPacked, writeTargetPacked,
                          readOffset, writeOffset, size);
        }
    }
    
    void GL_APIENTRY DrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glDrawArraysInstanced",
              "context = %d, GLenum mode = %s, GLint first = %d, GLsizei count = %d, GLsizei "
              "instancecount = %d",
              CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), first, count,
              instancecount);
    
        if (context)
        {
            PrimitiveMode modePacked                              = FromGL<PrimitiveMode>(mode);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid =
                (context->skipValidation() ||
                 ValidateDrawArraysInstanced(context, modePacked, first, count, instancecount));
            if (isCallValid)
            {
                context->drawArraysInstanced(modePacked, first, count, instancecount);
            }
            ANGLE_CAPTURE(DrawArraysInstanced, isCallValid, context, modePacked, first, count,
                          instancecount);
        }
    }
    
    void GL_APIENTRY DrawElementsInstanced(GLenum mode,
                                           GLsizei count,
                                           GLenum type,
                                           const void *indices,
                                           GLsizei instancecount)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glDrawElementsInstanced",
              "context = %d, GLenum mode = %s, GLsizei count = %d, GLenum type = %s, const void "
              "*indices = 0x%016" PRIxPTR ", GLsizei instancecount = %d",
              CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), count,
              GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices, instancecount);
    
        if (context)
        {
            PrimitiveMode modePacked                              = FromGL<PrimitiveMode>(mode);
            DrawElementsType typePacked                           = FromGL<DrawElementsType>(type);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateDrawElementsInstanced(context, modePacked, count, typePacked,
                                                              indices, instancecount));
            if (isCallValid)
            {
                context->drawElementsInstanced(modePacked, count, typePacked, indices, instancecount);
            }
            ANGLE_CAPTURE(DrawElementsInstanced, isCallValid, context, modePacked, count, typePacked,
                          indices, instancecount);
        }
    }
    
    void GL_APIENTRY GetActiveUniformBlockName(GLuint program,
                                               GLuint uniformBlockIndex,
                                               GLsizei bufSize,
                                               GLsizei *length,
                                               GLchar *uniformBlockName)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glGetActiveUniformBlockName",
              "context = %d, GLuint program = %u, GLuint uniformBlockIndex = %u, GLsizei bufSize = %d, "
              "GLsizei *length = 0x%016" PRIxPTR ", GLchar *uniformBlockName = 0x%016" PRIxPTR "",
              CID(context), program, uniformBlockIndex, bufSize, (uintptr_t)length,
              (uintptr_t)uniformBlockName);
    
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid =
                (context->skipValidation() ||
                 ValidateGetActiveUniformBlockName(context, programPacked, uniformBlockIndex, bufSize,
                                                   length, uniformBlockName));
            if (isCallValid)
            {
                context->getActiveUniformBlockName(programPacked, uniformBlockIndex, bufSize, length,
                                                   uniformBlockName);
            }
            ANGLE_CAPTURE(GetActiveUniformBlockName, isCallValid, context, programPacked,
                          uniformBlockIndex, bufSize, length, uniformBlockName);
        }
    }
    
    void GL_APIENTRY GetActiveUniformBlockiv(GLuint program,
                                             GLuint uniformBlockIndex,
                                             GLenum pname,
                                             GLint *params)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glGetActiveUniformBlockiv",
              "context = %d, GLuint program = %u, GLuint uniformBlockIndex = %u, GLenum pname = %s, "
              "GLint *params = 0x%016" PRIxPTR "",
              CID(context), program, uniformBlockIndex,
              GLenumToString(GLenumGroup::UniformBlockPName, pname), (uintptr_t)params);
    
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateGetActiveUniformBlockiv(context, programPacked,
                                                                uniformBlockIndex, pname, params));
            if (isCallValid)
            {
                context->getActiveUniformBlockiv(programPacked, uniformBlockIndex, pname, params);
            }
            ANGLE_CAPTURE(GetActiveUniformBlockiv, isCallValid, context, programPacked,
                          uniformBlockIndex, pname, params);
        }
    }
    
    void GL_APIENTRY GetActiveUniformName(GLuint program,
                                          GLuint uniformIndex,
                                          GLsizei bufSize,
                                          GLsizei *length,
                                          GLchar *uniformName)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glGetActiveUniformName",
              "context = %d, GLuint program = %u, GLuint uniformIndex = %u, GLsizei bufSize = %d, "
              "GLsizei *length = 0x%016" PRIxPTR ", GLchar *uniformName = 0x%016" PRIxPTR "",
              CID(context), program, uniformIndex, bufSize, (uintptr_t)length, (uintptr_t)uniformName);
    
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateGetActiveUniformName(context, programPacked, uniformIndex,
                                                             bufSize, length, uniformName));
            if (isCallValid)
            {
                context->getActiveUniformName(programPacked, uniformIndex, bufSize, length,
                                              uniformName);
            }
            ANGLE_CAPTURE(GetActiveUniformName, isCallValid, context, programPacked, uniformIndex,
                          bufSize, length, uniformName);
        }
    }
    
    void GL_APIENTRY GetActiveUniformsiv(GLuint program,
                                         GLsizei uniformCount,
                                         const GLuint *uniformIndices,
                                         GLenum pname,
                                         GLint *params)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glGetActiveUniformsiv",
              "context = %d, GLuint program = %u, GLsizei uniformCount = %d, const GLuint "
              "*uniformIndices = 0x%016" PRIxPTR ", GLenum pname = %s, GLint *params = 0x%016" PRIxPTR
              "",
              CID(context), program, uniformCount, (uintptr_t)uniformIndices,
              GLenumToString(GLenumGroup::UniformPName, pname), (uintptr_t)params);
    
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateGetActiveUniformsiv(context, programPacked, uniformCount,
                                                            uniformIndices, pname, params));
            if (isCallValid)
            {
                context->getActiveUniformsiv(programPacked, uniformCount, uniformIndices, pname,
                                             params);
            }
            ANGLE_CAPTURE(GetActiveUniformsiv, isCallValid, context, programPacked, uniformCount,
                          uniformIndices, pname, params);
        }
    }
    
    GLuint GL_APIENTRY GetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glGetUniformBlockIndex",
              "context = %d, GLuint program = %u, const GLchar *uniformBlockName = 0x%016" PRIxPTR "",
              CID(context), program, (uintptr_t)uniformBlockName);
    
        GLuint returnValue;
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateGetUniformBlockIndex(context, programPacked, uniformBlockName));
            if (isCallValid)
            {
                returnValue = context->getUniformBlockIndex(programPacked, uniformBlockName);
            }
            else
            {
                returnValue = GetDefaultReturnValue<EntryPoint::GetUniformBlockIndex, GLuint>();
            }
            ANGLE_CAPTURE(GetUniformBlockIndex, isCallValid, context, programPacked, uniformBlockName,
                          returnValue);
        }
        else
        {
            returnValue = GetDefaultReturnValue<EntryPoint::GetUniformBlockIndex, GLuint>();
        }
        return returnValue;
    }
    
    void GL_APIENTRY GetUniformIndices(GLuint program,
                                       GLsizei uniformCount,
                                       const GLchar *const *uniformNames,
                                       GLuint *uniformIndices)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glGetUniformIndices",
              "context = %d, GLuint program = %u, GLsizei uniformCount = %d, const GLchar "
              "*const*uniformNames = 0x%016" PRIxPTR ", GLuint *uniformIndices = 0x%016" PRIxPTR "",
              CID(context), program, uniformCount, (uintptr_t)uniformNames, (uintptr_t)uniformIndices);
    
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateGetUniformIndices(context, programPacked, uniformCount,
                                                          uniformNames, uniformIndices));
            if (isCallValid)
            {
                context->getUniformIndices(programPacked, uniformCount, uniformNames, uniformIndices);
            }
            ANGLE_CAPTURE(GetUniformIndices, isCallValid, context, programPacked, uniformCount,
                          uniformNames, uniformIndices);
        }
    }
    
    void GL_APIENTRY PrimitiveRestartIndex(GLuint index)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glPrimitiveRestartIndex", "context = %d, GLuint index = %u", CID(context), index);
    
        if (context)
        {
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid =
                (context->skipValidation() || ValidatePrimitiveRestartIndex(context, index));
            if (isCallValid)
            {
                context->primitiveRestartIndex(index);
            }
            ANGLE_CAPTURE(PrimitiveRestartIndex, isCallValid, context, index);
        }
    }
    
    void GL_APIENTRY TexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glTexBuffer",
              "context = %d, GLenum target = %s, GLenum internalformat = %s, GLuint buffer = %u",
              CID(context), GLenumToString(GLenumGroup::TextureTarget, target),
              GLenumToString(GLenumGroup::InternalFormat, internalformat), buffer);
    
        if (context)
        {
            TextureType targetPacked                              = FromGL<TextureType>(target);
            BufferID bufferPacked                                 = FromGL<BufferID>(buffer);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateTexBuffer(context, targetPacked, internalformat, bufferPacked));
            if (isCallValid)
            {
                context->texBuffer(targetPacked, internalformat, bufferPacked);
            }
            ANGLE_CAPTURE(TexBuffer, isCallValid, context, targetPacked, internalformat, bufferPacked);
        }
    }
    
    void GL_APIENTRY UniformBlockBinding(GLuint program,
                                         GLuint uniformBlockIndex,
                                         GLuint uniformBlockBinding)
    {
        Context *context = GetValidGlobalContext();
        EVENT("glUniformBlockBinding",
              "context = %d, GLuint program = %u, GLuint uniformBlockIndex = %u, GLuint "
              "uniformBlockBinding = %u",
              CID(context), program, uniformBlockIndex, uniformBlockBinding);
    
        if (context)
        {
            ShaderProgramID programPacked                         = FromGL<ShaderProgramID>(program);
            std::unique_lock<angle::GlobalMutex> shareContextLock = GetShareGroupLock(context);
            bool isCallValid                                      = (context->skipValidation() ||
                                ValidateUniformBlockBinding(context, programPacked, uniformBlockIndex,
                                                            uniformBlockBinding));
            if (isCallValid)
            {
                context->uniformBlockBinding(programPacked, uniformBlockIndex, uniformBlockBinding);
            }
            ANGLE_CAPTURE(UniformBlockBinding, isCallValid, context, programPacked, uniformBlockIndex,
                          uniformBlockBinding);
        }
    }
    }  // namespace gl