#ifndef LIBANGLE_ENTRY_POINT_UTILS_H_
#define LIBANGLE_ENTRY_POINT_UTILS_H_
#include "angle_gl.h"
#include "common/Optional.h"
#include "common/PackedEnums.h"
#include "common/angleutils.h"
#include "common/entry_points_enum_autogen.h"
#include "common/mathutil.h"
#include "libANGLE/Context.h"
#include "libANGLE/Display.h"
namespace gl
{
template <angle::EntryPoint EP, typename ReturnType>
struct DefaultReturnValue;
DefaultReturnValue<EP, GLint>;
DefaultReturnValue<EP, GLuint>;
DefaultReturnValue<EP, GLboolean>;
DefaultReturnValue<EP, ShaderProgramID>;
DefaultReturnValue<EP, const PointerType *>;
DefaultReturnValue<EP, PointerType *>;
template <>
struct DefaultReturnValue<angle::EntryPoint::GLGetUniformBlockIndex, GLuint>
{ … };
template <>
struct DefaultReturnValue<angle::EntryPoint::GLClientWaitSync, GLenum>
{ … };
template <>
struct DefaultReturnValue<angle::EntryPoint::GLTestFenceNV, GLboolean>
{ … };
template <angle::EntryPoint EP, typename ReturnType>
constexpr ANGLE_INLINE ReturnType GetDefaultReturnValue()
{ … }
#if ANGLE_CAPTURE_ENABLED
#define ANGLE_CAPTURE_GL …
#else
#define ANGLE_CAPTURE_GL(...) …
#endif
#define EGL_EVENT(EP, FMT, ...) …
inline int CID(const Context *context)
{ … }
bool GeneratePixelLocalStorageActiveError(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint);
ANGLE_INLINE bool ValidatePixelLocalStorageInactive(const PrivateState &state,
ErrorSet *errors,
angle::EntryPoint entryPoint)
{ … }
}
namespace egl
{
inline int CID(EGLDisplay display, EGLContext context)
{ … }
#if ANGLE_CAPTURE_ENABLED
#define ANGLE_CAPTURE_EGL …
#else
#define ANGLE_CAPTURE_EGL(...) …
#endif
}
#endif