Hash :
523dbf40
Author :
Date :
2019-07-15T10:56:26
Add GL versions to desktop implementation The current implementation generates entry points for GL up to version 3.1. Will need to support later versions for some apps. Bug: angleproject:3698 Change-Id: Ic44d07b12a9eeeceb8cd98dd9c44652dca728dc0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700572 Commit-Queue: Clemen Deng <clemendeng@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
// 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_6_autogen.cpp:
// Defines the GL 4.6 entry points.
#include "libGL/entry_points_gl_4_6_autogen.h"
#include "libANGLE/Context.h"
#include "libANGLE/Context.inl.h"
#include "libANGLE/entry_points_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/validationESEXT.h"
#include "libANGLE/validationGL46_autogen.h"
#include "libGLESv2/global_state.h"
namespace gl
{
void GL_APIENTRY MultiDrawArraysIndirectCount(GLenum mode,
const void *indirect,
GLintptr drawcount,
GLsizei maxdrawcount,
GLsizei stride)
{
EVENT("(GLenum mode = 0x%X, const void *indirect = 0x%016" PRIxPTR
", GLintptr drawcount = %llu, GLsizei maxdrawcount = %d, GLsizei stride = %d)",
mode, (uintptr_t)indirect, static_cast<unsigned long long>(drawcount), maxdrawcount,
stride);
Context *context = GetValidGlobalContext();
if (context)
{
ANGLE_CAPTURE(MultiDrawArraysIndirectCount, context, mode, indirect, drawcount,
maxdrawcount, stride);
if (context->skipValidation() ||
ValidateMultiDrawArraysIndirectCount(context, mode, indirect, drawcount, maxdrawcount,
stride))
{
context->multiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride);
}
}
}
void GL_APIENTRY MultiDrawElementsIndirectCount(GLenum mode,
GLenum type,
const void *indirect,
GLintptr drawcount,
GLsizei maxdrawcount,
GLsizei stride)
{
EVENT("(GLenum mode = 0x%X, GLenum type = 0x%X, const void *indirect = 0x%016" PRIxPTR
", GLintptr drawcount = %llu, GLsizei maxdrawcount = %d, GLsizei stride = %d)",
mode, type, (uintptr_t)indirect, static_cast<unsigned long long>(drawcount), maxdrawcount,
stride);
Context *context = GetValidGlobalContext();
if (context)
{
ANGLE_CAPTURE(MultiDrawElementsIndirectCount, context, mode, type, indirect, drawcount,
maxdrawcount, stride);
if (context->skipValidation() ||
ValidateMultiDrawElementsIndirectCount(context, mode, type, indirect, drawcount,
maxdrawcount, stride))
{
context->multiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount,
stride);
}
}
}
void GL_APIENTRY PolygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp)
{
EVENT("(GLfloat factor = %f, GLfloat units = %f, GLfloat clamp = %f)", factor, units, clamp);
Context *context = GetValidGlobalContext();
if (context)
{
ANGLE_CAPTURE(PolygonOffsetClamp, context, factor, units, clamp);
if (context->skipValidation() || ValidatePolygonOffsetClamp(context, factor, units, clamp))
{
context->polygonOffsetClamp(factor, units, clamp);
}
}
}
void GL_APIENTRY SpecializeShader(GLuint shader,
const GLchar *pEntryPoint,
GLuint numSpecializationConstants,
const GLuint *pConstantIndex,
const GLuint *pConstantValue)
{
EVENT("(GLuint shader = %u, const GLchar *pEntryPoint = 0x%016" PRIxPTR
", GLuint numSpecializationConstants = %u, const GLuint *pConstantIndex = 0x%016" PRIxPTR
", const GLuint *pConstantValue = 0x%016" PRIxPTR ")",
shader, (uintptr_t)pEntryPoint, numSpecializationConstants, (uintptr_t)pConstantIndex,
(uintptr_t)pConstantValue);
Context *context = GetValidGlobalContext();
if (context)
{
ANGLE_CAPTURE(SpecializeShader, context, shader, pEntryPoint, numSpecializationConstants,
pConstantIndex, pConstantValue);
if (context->skipValidation() ||
ValidateSpecializeShader(context, shader, pEntryPoint, numSpecializationConstants,
pConstantIndex, pConstantValue))
{
context->specializeShader(shader, pEntryPoint, numSpecializationConstants,
pConstantIndex, pConstantValue);
}
}
}
} // namespace gl