Path: blob/main_old/src/libGLESv2/entry_points_gles_1_0_autogen.cpp
1693 views
// GENERATED FILE - DO NOT EDIT.1// Generated by generate_entry_points.py using data from gl.xml.2//3// Copyright 2020 The ANGLE Project Authors. All rights reserved.4// Use of this source code is governed by a BSD-style license that can be5// found in the LICENSE file.6//7// entry_points_gles_1_0_autogen.cpp:8// Defines the GLES 1.0 entry points.910#include "libGLESv2/entry_points_gles_1_0_autogen.h"1112#include "common/entry_points_enum_autogen.h"13#include "libANGLE/Context.h"14#include "libANGLE/Context.inl.h"15#include "libANGLE/capture/capture_gles_1_0_autogen.h"16#include "libANGLE/capture/gl_enum_utils.h"17#include "libANGLE/entry_points_utils.h"18#include "libANGLE/validationES1.h"19#include "libGLESv2/global_state.h"2021using namespace gl;2223extern "C" {24void GL_APIENTRY GL_AlphaFunc(GLenum func, GLfloat ref)25{26Context *context = GetValidGlobalContext();27EVENT(context, GLAlphaFunc, "context = %d, func = %s, ref = %f", CID(context),28GLenumToString(GLenumGroup::AlphaFunction, func), ref);2930if (context)31{32AlphaTestFunc funcPacked = PackParam<AlphaTestFunc>(func);33std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);34bool isCallValid =35(context->skipValidation() || ValidateAlphaFunc(context, funcPacked, ref));36if (isCallValid)37{38context->alphaFunc(funcPacked, ref);39}40ANGLE_CAPTURE(AlphaFunc, isCallValid, context, funcPacked, ref);41}42else43{44GenerateContextLostErrorOnCurrentGlobalContext();45}46}4748void GL_APIENTRY GL_AlphaFuncx(GLenum func, GLfixed ref)49{50Context *context = GetValidGlobalContext();51EVENT(context, GLAlphaFuncx, "context = %d, func = %s, ref = 0x%X", CID(context),52GLenumToString(GLenumGroup::AlphaFunction, func), ref);5354if (context)55{56AlphaTestFunc funcPacked = PackParam<AlphaTestFunc>(func);57std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);58bool isCallValid =59(context->skipValidation() || ValidateAlphaFuncx(context, funcPacked, ref));60if (isCallValid)61{62context->alphaFuncx(funcPacked, ref);63}64ANGLE_CAPTURE(AlphaFuncx, isCallValid, context, funcPacked, ref);65}66else67{68GenerateContextLostErrorOnCurrentGlobalContext();69}70}7172void GL_APIENTRY GL_ClearColorx(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)73{74Context *context = GetValidGlobalContext();75EVENT(context, GLClearColorx,76"context = %d, red = 0x%X, green = 0x%X, blue = 0x%X, alpha = 0x%X", CID(context), red,77green, blue, alpha);7879if (context)80{81std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);82bool isCallValid =83(context->skipValidation() || ValidateClearColorx(context, red, green, blue, alpha));84if (isCallValid)85{86context->clearColorx(red, green, blue, alpha);87}88ANGLE_CAPTURE(ClearColorx, isCallValid, context, red, green, blue, alpha);89}90else91{92GenerateContextLostErrorOnCurrentGlobalContext();93}94}9596void GL_APIENTRY GL_ClearDepthx(GLfixed depth)97{98Context *context = GetValidGlobalContext();99EVENT(context, GLClearDepthx, "context = %d, depth = 0x%X", CID(context), depth);100101if (context)102{103std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);104bool isCallValid = (context->skipValidation() || ValidateClearDepthx(context, depth));105if (isCallValid)106{107context->clearDepthx(depth);108}109ANGLE_CAPTURE(ClearDepthx, isCallValid, context, depth);110}111else112{113GenerateContextLostErrorOnCurrentGlobalContext();114}115}116117void GL_APIENTRY GL_ClientActiveTexture(GLenum texture)118{119Context *context = GetValidGlobalContext();120EVENT(context, GLClientActiveTexture, "context = %d, texture = %s", CID(context),121GLenumToString(GLenumGroup::TextureUnit, texture));122123if (context)124{125std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);126bool isCallValid =127(context->skipValidation() || ValidateClientActiveTexture(context, texture));128if (isCallValid)129{130context->clientActiveTexture(texture);131}132ANGLE_CAPTURE(ClientActiveTexture, isCallValid, context, texture);133}134else135{136GenerateContextLostErrorOnCurrentGlobalContext();137}138}139140void GL_APIENTRY GL_ClipPlanef(GLenum p, const GLfloat *eqn)141{142Context *context = GetValidGlobalContext();143EVENT(context, GLClipPlanef, "context = %d, p = %s, eqn = 0x%016" PRIxPTR "", CID(context),144GLenumToString(GLenumGroup::ClipPlaneName, p), (uintptr_t)eqn);145146if (context)147{148std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);149bool isCallValid = (context->skipValidation() || ValidateClipPlanef(context, p, eqn));150if (isCallValid)151{152context->clipPlanef(p, eqn);153}154ANGLE_CAPTURE(ClipPlanef, isCallValid, context, p, eqn);155}156else157{158GenerateContextLostErrorOnCurrentGlobalContext();159}160}161162void GL_APIENTRY GL_ClipPlanex(GLenum plane, const GLfixed *equation)163{164Context *context = GetValidGlobalContext();165EVENT(context, GLClipPlanex, "context = %d, plane = %s, equation = 0x%016" PRIxPTR "",166CID(context), GLenumToString(GLenumGroup::ClipPlaneName, plane), (uintptr_t)equation);167168if (context)169{170std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);171bool isCallValid =172(context->skipValidation() || ValidateClipPlanex(context, plane, equation));173if (isCallValid)174{175context->clipPlanex(plane, equation);176}177ANGLE_CAPTURE(ClipPlanex, isCallValid, context, plane, equation);178}179else180{181GenerateContextLostErrorOnCurrentGlobalContext();182}183}184185void GL_APIENTRY GL_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)186{187Context *context = GetValidGlobalContext();188EVENT(context, GLColor4f, "context = %d, red = %f, green = %f, blue = %f, alpha = %f",189CID(context), red, green, blue, alpha);190191if (context)192{193std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);194bool isCallValid =195(context->skipValidation() || ValidateColor4f(context, red, green, blue, alpha));196if (isCallValid)197{198context->color4f(red, green, blue, alpha);199}200ANGLE_CAPTURE(Color4f, isCallValid, context, red, green, blue, alpha);201}202else203{204GenerateContextLostErrorOnCurrentGlobalContext();205}206}207208void GL_APIENTRY GL_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)209{210Context *context = GetValidGlobalContext();211EVENT(context, GLColor4ub, "context = %d, red = %d, green = %d, blue = %d, alpha = %d",212CID(context), red, green, blue, alpha);213214if (context)215{216std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);217bool isCallValid =218(context->skipValidation() || ValidateColor4ub(context, red, green, blue, alpha));219if (isCallValid)220{221context->color4ub(red, green, blue, alpha);222}223ANGLE_CAPTURE(Color4ub, isCallValid, context, red, green, blue, alpha);224}225else226{227GenerateContextLostErrorOnCurrentGlobalContext();228}229}230231void GL_APIENTRY GL_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)232{233Context *context = GetValidGlobalContext();234EVENT(context, GLColor4x, "context = %d, red = 0x%X, green = 0x%X, blue = 0x%X, alpha = 0x%X",235CID(context), red, green, blue, alpha);236237if (context)238{239std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);240bool isCallValid =241(context->skipValidation() || ValidateColor4x(context, red, green, blue, alpha));242if (isCallValid)243{244context->color4x(red, green, blue, alpha);245}246ANGLE_CAPTURE(Color4x, isCallValid, context, red, green, blue, alpha);247}248else249{250GenerateContextLostErrorOnCurrentGlobalContext();251}252}253254void GL_APIENTRY GL_ColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)255{256Context *context = GetValidGlobalContext();257EVENT(context, GLColorPointer,258"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",259CID(context), size, GLenumToString(GLenumGroup::ColorPointerType, type), stride,260(uintptr_t)pointer);261262if (context)263{264VertexAttribType typePacked = PackParam<VertexAttribType>(type);265std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);266bool isCallValid = (context->skipValidation() ||267ValidateColorPointer(context, size, typePacked, stride, pointer));268if (isCallValid)269{270context->colorPointer(size, typePacked, stride, pointer);271}272ANGLE_CAPTURE(ColorPointer, isCallValid, context, size, typePacked, stride, pointer);273}274else275{276GenerateContextLostErrorOnCurrentGlobalContext();277}278}279280void GL_APIENTRY GL_DepthRangex(GLfixed n, GLfixed f)281{282Context *context = GetValidGlobalContext();283EVENT(context, GLDepthRangex, "context = %d, n = 0x%X, f = 0x%X", CID(context), n, f);284285if (context)286{287std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);288bool isCallValid = (context->skipValidation() || ValidateDepthRangex(context, n, f));289if (isCallValid)290{291context->depthRangex(n, f);292}293ANGLE_CAPTURE(DepthRangex, isCallValid, context, n, f);294}295else296{297GenerateContextLostErrorOnCurrentGlobalContext();298}299}300301void GL_APIENTRY GL_DisableClientState(GLenum array)302{303Context *context = GetValidGlobalContext();304EVENT(context, GLDisableClientState, "context = %d, array = %s", CID(context),305GLenumToString(GLenumGroup::EnableCap, array));306307if (context)308{309ClientVertexArrayType arrayPacked = PackParam<ClientVertexArrayType>(array);310std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);311bool isCallValid =312(context->skipValidation() || ValidateDisableClientState(context, arrayPacked));313if (isCallValid)314{315context->disableClientState(arrayPacked);316}317ANGLE_CAPTURE(DisableClientState, isCallValid, context, arrayPacked);318}319else320{321GenerateContextLostErrorOnCurrentGlobalContext();322}323}324325void GL_APIENTRY GL_EnableClientState(GLenum array)326{327Context *context = GetValidGlobalContext();328EVENT(context, GLEnableClientState, "context = %d, array = %s", CID(context),329GLenumToString(GLenumGroup::EnableCap, array));330331if (context)332{333ClientVertexArrayType arrayPacked = PackParam<ClientVertexArrayType>(array);334std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);335bool isCallValid =336(context->skipValidation() || ValidateEnableClientState(context, arrayPacked));337if (isCallValid)338{339context->enableClientState(arrayPacked);340}341ANGLE_CAPTURE(EnableClientState, isCallValid, context, arrayPacked);342}343else344{345GenerateContextLostErrorOnCurrentGlobalContext();346}347}348349void GL_APIENTRY GL_Fogf(GLenum pname, GLfloat param)350{351Context *context = GetValidGlobalContext();352EVENT(context, GLFogf, "context = %d, pname = %s, param = %f", CID(context),353GLenumToString(GLenumGroup::FogParameter, pname), param);354355if (context)356{357std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);358bool isCallValid = (context->skipValidation() || ValidateFogf(context, pname, param));359if (isCallValid)360{361context->fogf(pname, param);362}363ANGLE_CAPTURE(Fogf, isCallValid, context, pname, param);364}365else366{367GenerateContextLostErrorOnCurrentGlobalContext();368}369}370371void GL_APIENTRY GL_Fogfv(GLenum pname, const GLfloat *params)372{373Context *context = GetValidGlobalContext();374EVENT(context, GLFogfv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "", CID(context),375GLenumToString(GLenumGroup::FogParameter, pname), (uintptr_t)params);376377if (context)378{379std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);380bool isCallValid = (context->skipValidation() || ValidateFogfv(context, pname, params));381if (isCallValid)382{383context->fogfv(pname, params);384}385ANGLE_CAPTURE(Fogfv, isCallValid, context, pname, params);386}387else388{389GenerateContextLostErrorOnCurrentGlobalContext();390}391}392393void GL_APIENTRY GL_Fogx(GLenum pname, GLfixed param)394{395Context *context = GetValidGlobalContext();396EVENT(context, GLFogx, "context = %d, pname = %s, param = 0x%X", CID(context),397GLenumToString(GLenumGroup::FogPName, pname), param);398399if (context)400{401std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);402bool isCallValid = (context->skipValidation() || ValidateFogx(context, pname, param));403if (isCallValid)404{405context->fogx(pname, param);406}407ANGLE_CAPTURE(Fogx, isCallValid, context, pname, param);408}409else410{411GenerateContextLostErrorOnCurrentGlobalContext();412}413}414415void GL_APIENTRY GL_Fogxv(GLenum pname, const GLfixed *param)416{417Context *context = GetValidGlobalContext();418EVENT(context, GLFogxv, "context = %d, pname = %s, param = 0x%016" PRIxPTR "", CID(context),419GLenumToString(GLenumGroup::FogPName, pname), (uintptr_t)param);420421if (context)422{423std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);424bool isCallValid = (context->skipValidation() || ValidateFogxv(context, pname, param));425if (isCallValid)426{427context->fogxv(pname, param);428}429ANGLE_CAPTURE(Fogxv, isCallValid, context, pname, param);430}431else432{433GenerateContextLostErrorOnCurrentGlobalContext();434}435}436437void GL_APIENTRY GL_Frustumf(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f)438{439Context *context = GetValidGlobalContext();440EVENT(context, GLFrustumf, "context = %d, l = %f, r = %f, b = %f, t = %f, n = %f, f = %f",441CID(context), l, r, b, t, n, f);442443if (context)444{445std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);446bool isCallValid =447(context->skipValidation() || ValidateFrustumf(context, l, r, b, t, n, f));448if (isCallValid)449{450context->frustumf(l, r, b, t, n, f);451}452ANGLE_CAPTURE(Frustumf, isCallValid, context, l, r, b, t, n, f);453}454else455{456GenerateContextLostErrorOnCurrentGlobalContext();457}458}459460void GL_APIENTRY GL_Frustumx(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f)461{462Context *context = GetValidGlobalContext();463EVENT(context, GLFrustumx,464"context = %d, l = 0x%X, r = 0x%X, b = 0x%X, t = 0x%X, n = 0x%X, f = 0x%X", CID(context),465l, r, b, t, n, f);466467if (context)468{469std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);470bool isCallValid =471(context->skipValidation() || ValidateFrustumx(context, l, r, b, t, n, f));472if (isCallValid)473{474context->frustumx(l, r, b, t, n, f);475}476ANGLE_CAPTURE(Frustumx, isCallValid, context, l, r, b, t, n, f);477}478else479{480GenerateContextLostErrorOnCurrentGlobalContext();481}482}483484void GL_APIENTRY GL_GetClipPlanef(GLenum plane, GLfloat *equation)485{486Context *context = GetValidGlobalContext();487EVENT(context, GLGetClipPlanef, "context = %d, plane = %s, equation = 0x%016" PRIxPTR "",488CID(context), GLenumToString(GLenumGroup::ClipPlaneName, plane), (uintptr_t)equation);489490if (context)491{492std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);493bool isCallValid =494(context->skipValidation() || ValidateGetClipPlanef(context, plane, equation));495if (isCallValid)496{497context->getClipPlanef(plane, equation);498}499ANGLE_CAPTURE(GetClipPlanef, isCallValid, context, plane, equation);500}501else502{503GenerateContextLostErrorOnCurrentGlobalContext();504}505}506507void GL_APIENTRY GL_GetClipPlanex(GLenum plane, GLfixed *equation)508{509Context *context = GetValidGlobalContext();510EVENT(context, GLGetClipPlanex, "context = %d, plane = %s, equation = 0x%016" PRIxPTR "",511CID(context), GLenumToString(GLenumGroup::ClipPlaneName, plane), (uintptr_t)equation);512513if (context)514{515std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);516bool isCallValid =517(context->skipValidation() || ValidateGetClipPlanex(context, plane, equation));518if (isCallValid)519{520context->getClipPlanex(plane, equation);521}522ANGLE_CAPTURE(GetClipPlanex, isCallValid, context, plane, equation);523}524else525{526GenerateContextLostErrorOnCurrentGlobalContext();527}528}529530void GL_APIENTRY GL_GetFixedv(GLenum pname, GLfixed *params)531{532Context *context = GetValidGlobalContext();533EVENT(context, GLGetFixedv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",534CID(context), GLenumToString(GLenumGroup::GetPName, pname), (uintptr_t)params);535536if (context)537{538std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);539bool isCallValid = (context->skipValidation() || ValidateGetFixedv(context, pname, params));540if (isCallValid)541{542context->getFixedv(pname, params);543}544ANGLE_CAPTURE(GetFixedv, isCallValid, context, pname, params);545}546else547{548GenerateContextLostErrorOnCurrentGlobalContext();549}550}551552void GL_APIENTRY GL_GetLightfv(GLenum light, GLenum pname, GLfloat *params)553{554Context *context = GetValidGlobalContext();555EVENT(context, GLGetLightfv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",556CID(context), GLenumToString(GLenumGroup::LightName, light),557GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);558559if (context)560{561LightParameter pnamePacked = PackParam<LightParameter>(pname);562std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);563bool isCallValid =564(context->skipValidation() || ValidateGetLightfv(context, light, pnamePacked, params));565if (isCallValid)566{567context->getLightfv(light, pnamePacked, params);568}569ANGLE_CAPTURE(GetLightfv, isCallValid, context, light, pnamePacked, params);570}571else572{573GenerateContextLostErrorOnCurrentGlobalContext();574}575}576577void GL_APIENTRY GL_GetLightxv(GLenum light, GLenum pname, GLfixed *params)578{579Context *context = GetValidGlobalContext();580EVENT(context, GLGetLightxv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",581CID(context), GLenumToString(GLenumGroup::LightName, light),582GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);583584if (context)585{586LightParameter pnamePacked = PackParam<LightParameter>(pname);587std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);588bool isCallValid =589(context->skipValidation() || ValidateGetLightxv(context, light, pnamePacked, params));590if (isCallValid)591{592context->getLightxv(light, pnamePacked, params);593}594ANGLE_CAPTURE(GetLightxv, isCallValid, context, light, pnamePacked, params);595}596else597{598GenerateContextLostErrorOnCurrentGlobalContext();599}600}601602void GL_APIENTRY GL_GetMaterialfv(GLenum face, GLenum pname, GLfloat *params)603{604Context *context = GetValidGlobalContext();605EVENT(context, GLGetMaterialfv,606"context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),607GLenumToString(GLenumGroup::MaterialFace, face),608GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);609610if (context)611{612MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);613std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);614bool isCallValid = (context->skipValidation() ||615ValidateGetMaterialfv(context, face, pnamePacked, params));616if (isCallValid)617{618context->getMaterialfv(face, pnamePacked, params);619}620ANGLE_CAPTURE(GetMaterialfv, isCallValid, context, face, pnamePacked, params);621}622else623{624GenerateContextLostErrorOnCurrentGlobalContext();625}626}627628void GL_APIENTRY GL_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params)629{630Context *context = GetValidGlobalContext();631EVENT(context, GLGetMaterialxv,632"context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),633GLenumToString(GLenumGroup::MaterialFace, face),634GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);635636if (context)637{638MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);639std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);640bool isCallValid = (context->skipValidation() ||641ValidateGetMaterialxv(context, face, pnamePacked, params));642if (isCallValid)643{644context->getMaterialxv(face, pnamePacked, params);645}646ANGLE_CAPTURE(GetMaterialxv, isCallValid, context, face, pnamePacked, params);647}648else649{650GenerateContextLostErrorOnCurrentGlobalContext();651}652}653654void GL_APIENTRY GL_GetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)655{656Context *context = GetValidGlobalContext();657EVENT(context, GLGetTexEnvfv,658"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),659GLenumToString(GLenumGroup::TextureEnvTarget, target),660GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);661662if (context)663{664TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);665TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);666std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);667bool isCallValid = (context->skipValidation() ||668ValidateGetTexEnvfv(context, targetPacked, pnamePacked, params));669if (isCallValid)670{671context->getTexEnvfv(targetPacked, pnamePacked, params);672}673ANGLE_CAPTURE(GetTexEnvfv, isCallValid, context, targetPacked, pnamePacked, params);674}675else676{677GenerateContextLostErrorOnCurrentGlobalContext();678}679}680681void GL_APIENTRY GL_GetTexEnviv(GLenum target, GLenum pname, GLint *params)682{683Context *context = GetValidGlobalContext();684EVENT(context, GLGetTexEnviv,685"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),686GLenumToString(GLenumGroup::TextureEnvTarget, target),687GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);688689if (context)690{691TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);692TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);693std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);694bool isCallValid = (context->skipValidation() ||695ValidateGetTexEnviv(context, targetPacked, pnamePacked, params));696if (isCallValid)697{698context->getTexEnviv(targetPacked, pnamePacked, params);699}700ANGLE_CAPTURE(GetTexEnviv, isCallValid, context, targetPacked, pnamePacked, params);701}702else703{704GenerateContextLostErrorOnCurrentGlobalContext();705}706}707708void GL_APIENTRY GL_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params)709{710Context *context = GetValidGlobalContext();711EVENT(context, GLGetTexEnvxv,712"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),713GLenumToString(GLenumGroup::TextureEnvTarget, target),714GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);715716if (context)717{718TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);719TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);720std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);721bool isCallValid = (context->skipValidation() ||722ValidateGetTexEnvxv(context, targetPacked, pnamePacked, params));723if (isCallValid)724{725context->getTexEnvxv(targetPacked, pnamePacked, params);726}727ANGLE_CAPTURE(GetTexEnvxv, isCallValid, context, targetPacked, pnamePacked, params);728}729else730{731GenerateContextLostErrorOnCurrentGlobalContext();732}733}734735void GL_APIENTRY GL_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params)736{737Context *context = GetValidGlobalContext();738EVENT(context, GLGetTexParameterxv,739"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),740GLenumToString(GLenumGroup::TextureTarget, target),741GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);742743if (context)744{745TextureType targetPacked = PackParam<TextureType>(target);746std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);747bool isCallValid = (context->skipValidation() ||748ValidateGetTexParameterxv(context, targetPacked, pname, params));749if (isCallValid)750{751context->getTexParameterxv(targetPacked, pname, params);752}753ANGLE_CAPTURE(GetTexParameterxv, isCallValid, context, targetPacked, pname, params);754}755else756{757GenerateContextLostErrorOnCurrentGlobalContext();758}759}760761void GL_APIENTRY GL_LightModelf(GLenum pname, GLfloat param)762{763Context *context = GetValidGlobalContext();764EVENT(context, GLLightModelf, "context = %d, pname = %s, param = %f", CID(context),765GLenumToString(GLenumGroup::LightModelParameter, pname), param);766767if (context)768{769std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);770bool isCallValid =771(context->skipValidation() || ValidateLightModelf(context, pname, param));772if (isCallValid)773{774context->lightModelf(pname, param);775}776ANGLE_CAPTURE(LightModelf, isCallValid, context, pname, param);777}778else779{780GenerateContextLostErrorOnCurrentGlobalContext();781}782}783784void GL_APIENTRY GL_LightModelfv(GLenum pname, const GLfloat *params)785{786Context *context = GetValidGlobalContext();787EVENT(context, GLLightModelfv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",788CID(context), GLenumToString(GLenumGroup::LightModelParameter, pname), (uintptr_t)params);789790if (context)791{792std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);793bool isCallValid =794(context->skipValidation() || ValidateLightModelfv(context, pname, params));795if (isCallValid)796{797context->lightModelfv(pname, params);798}799ANGLE_CAPTURE(LightModelfv, isCallValid, context, pname, params);800}801else802{803GenerateContextLostErrorOnCurrentGlobalContext();804}805}806807void GL_APIENTRY GL_LightModelx(GLenum pname, GLfixed param)808{809Context *context = GetValidGlobalContext();810EVENT(context, GLLightModelx, "context = %d, pname = %s, param = 0x%X", CID(context),811GLenumToString(GLenumGroup::LightModelParameter, pname), param);812813if (context)814{815std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);816bool isCallValid =817(context->skipValidation() || ValidateLightModelx(context, pname, param));818if (isCallValid)819{820context->lightModelx(pname, param);821}822ANGLE_CAPTURE(LightModelx, isCallValid, context, pname, param);823}824else825{826GenerateContextLostErrorOnCurrentGlobalContext();827}828}829830void GL_APIENTRY GL_LightModelxv(GLenum pname, const GLfixed *param)831{832Context *context = GetValidGlobalContext();833EVENT(context, GLLightModelxv, "context = %d, pname = %s, param = 0x%016" PRIxPTR "",834CID(context), GLenumToString(GLenumGroup::LightModelParameter, pname), (uintptr_t)param);835836if (context)837{838std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);839bool isCallValid =840(context->skipValidation() || ValidateLightModelxv(context, pname, param));841if (isCallValid)842{843context->lightModelxv(pname, param);844}845ANGLE_CAPTURE(LightModelxv, isCallValid, context, pname, param);846}847else848{849GenerateContextLostErrorOnCurrentGlobalContext();850}851}852853void GL_APIENTRY GL_Lightf(GLenum light, GLenum pname, GLfloat param)854{855Context *context = GetValidGlobalContext();856EVENT(context, GLLightf, "context = %d, light = %s, pname = %s, param = %f", CID(context),857GLenumToString(GLenumGroup::LightName, light),858GLenumToString(GLenumGroup::LightParameter, pname), param);859860if (context)861{862LightParameter pnamePacked = PackParam<LightParameter>(pname);863std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);864bool isCallValid =865(context->skipValidation() || ValidateLightf(context, light, pnamePacked, param));866if (isCallValid)867{868context->lightf(light, pnamePacked, param);869}870ANGLE_CAPTURE(Lightf, isCallValid, context, light, pnamePacked, param);871}872else873{874GenerateContextLostErrorOnCurrentGlobalContext();875}876}877878void GL_APIENTRY GL_Lightfv(GLenum light, GLenum pname, const GLfloat *params)879{880Context *context = GetValidGlobalContext();881EVENT(context, GLLightfv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",882CID(context), GLenumToString(GLenumGroup::LightName, light),883GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);884885if (context)886{887LightParameter pnamePacked = PackParam<LightParameter>(pname);888std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);889bool isCallValid =890(context->skipValidation() || ValidateLightfv(context, light, pnamePacked, params));891if (isCallValid)892{893context->lightfv(light, pnamePacked, params);894}895ANGLE_CAPTURE(Lightfv, isCallValid, context, light, pnamePacked, params);896}897else898{899GenerateContextLostErrorOnCurrentGlobalContext();900}901}902903void GL_APIENTRY GL_Lightx(GLenum light, GLenum pname, GLfixed param)904{905Context *context = GetValidGlobalContext();906EVENT(context, GLLightx, "context = %d, light = %s, pname = %s, param = 0x%X", CID(context),907GLenumToString(GLenumGroup::LightName, light),908GLenumToString(GLenumGroup::LightParameter, pname), param);909910if (context)911{912LightParameter pnamePacked = PackParam<LightParameter>(pname);913std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);914bool isCallValid =915(context->skipValidation() || ValidateLightx(context, light, pnamePacked, param));916if (isCallValid)917{918context->lightx(light, pnamePacked, param);919}920ANGLE_CAPTURE(Lightx, isCallValid, context, light, pnamePacked, param);921}922else923{924GenerateContextLostErrorOnCurrentGlobalContext();925}926}927928void GL_APIENTRY GL_Lightxv(GLenum light, GLenum pname, const GLfixed *params)929{930Context *context = GetValidGlobalContext();931EVENT(context, GLLightxv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",932CID(context), GLenumToString(GLenumGroup::LightName, light),933GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);934935if (context)936{937LightParameter pnamePacked = PackParam<LightParameter>(pname);938std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);939bool isCallValid =940(context->skipValidation() || ValidateLightxv(context, light, pnamePacked, params));941if (isCallValid)942{943context->lightxv(light, pnamePacked, params);944}945ANGLE_CAPTURE(Lightxv, isCallValid, context, light, pnamePacked, params);946}947else948{949GenerateContextLostErrorOnCurrentGlobalContext();950}951}952953void GL_APIENTRY GL_LineWidthx(GLfixed width)954{955Context *context = GetValidGlobalContext();956EVENT(context, GLLineWidthx, "context = %d, width = 0x%X", CID(context), width);957958if (context)959{960std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);961bool isCallValid = (context->skipValidation() || ValidateLineWidthx(context, width));962if (isCallValid)963{964context->lineWidthx(width);965}966ANGLE_CAPTURE(LineWidthx, isCallValid, context, width);967}968else969{970GenerateContextLostErrorOnCurrentGlobalContext();971}972}973974void GL_APIENTRY GL_LoadIdentity()975{976Context *context = GetValidGlobalContext();977EVENT(context, GLLoadIdentity, "context = %d", CID(context));978979if (context)980{981std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);982bool isCallValid = (context->skipValidation() || ValidateLoadIdentity(context));983if (isCallValid)984{985context->loadIdentity();986}987ANGLE_CAPTURE(LoadIdentity, isCallValid, context);988}989else990{991GenerateContextLostErrorOnCurrentGlobalContext();992}993}994995void GL_APIENTRY GL_LoadMatrixf(const GLfloat *m)996{997Context *context = GetValidGlobalContext();998EVENT(context, GLLoadMatrixf, "context = %d, m = 0x%016" PRIxPTR "", CID(context),999(uintptr_t)m);10001001if (context)1002{1003std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1004bool isCallValid = (context->skipValidation() || ValidateLoadMatrixf(context, m));1005if (isCallValid)1006{1007context->loadMatrixf(m);1008}1009ANGLE_CAPTURE(LoadMatrixf, isCallValid, context, m);1010}1011else1012{1013GenerateContextLostErrorOnCurrentGlobalContext();1014}1015}10161017void GL_APIENTRY GL_LoadMatrixx(const GLfixed *m)1018{1019Context *context = GetValidGlobalContext();1020EVENT(context, GLLoadMatrixx, "context = %d, m = 0x%016" PRIxPTR "", CID(context),1021(uintptr_t)m);10221023if (context)1024{1025std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1026bool isCallValid = (context->skipValidation() || ValidateLoadMatrixx(context, m));1027if (isCallValid)1028{1029context->loadMatrixx(m);1030}1031ANGLE_CAPTURE(LoadMatrixx, isCallValid, context, m);1032}1033else1034{1035GenerateContextLostErrorOnCurrentGlobalContext();1036}1037}10381039void GL_APIENTRY GL_LogicOp(GLenum opcode)1040{1041Context *context = GetValidGlobalContext();1042EVENT(context, GLLogicOp, "context = %d, opcode = %s", CID(context),1043GLenumToString(GLenumGroup::LogicOp, opcode));10441045if (context)1046{1047LogicalOperation opcodePacked = PackParam<LogicalOperation>(opcode);1048std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1049bool isCallValid = (context->skipValidation() || ValidateLogicOp(context, opcodePacked));1050if (isCallValid)1051{1052context->logicOp(opcodePacked);1053}1054ANGLE_CAPTURE(LogicOp, isCallValid, context, opcodePacked);1055}1056else1057{1058GenerateContextLostErrorOnCurrentGlobalContext();1059}1060}10611062void GL_APIENTRY GL_Materialf(GLenum face, GLenum pname, GLfloat param)1063{1064Context *context = GetValidGlobalContext();1065EVENT(context, GLMaterialf, "context = %d, face = %s, pname = %s, param = %f", CID(context),1066GLenumToString(GLenumGroup::MaterialFace, face),1067GLenumToString(GLenumGroup::MaterialParameter, pname), param);10681069if (context)1070{1071MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);1072std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1073bool isCallValid =1074(context->skipValidation() || ValidateMaterialf(context, face, pnamePacked, param));1075if (isCallValid)1076{1077context->materialf(face, pnamePacked, param);1078}1079ANGLE_CAPTURE(Materialf, isCallValid, context, face, pnamePacked, param);1080}1081else1082{1083GenerateContextLostErrorOnCurrentGlobalContext();1084}1085}10861087void GL_APIENTRY GL_Materialfv(GLenum face, GLenum pname, const GLfloat *params)1088{1089Context *context = GetValidGlobalContext();1090EVENT(context, GLMaterialfv, "context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "",1091CID(context), GLenumToString(GLenumGroup::MaterialFace, face),1092GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);10931094if (context)1095{1096MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);1097std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1098bool isCallValid =1099(context->skipValidation() || ValidateMaterialfv(context, face, pnamePacked, params));1100if (isCallValid)1101{1102context->materialfv(face, pnamePacked, params);1103}1104ANGLE_CAPTURE(Materialfv, isCallValid, context, face, pnamePacked, params);1105}1106else1107{1108GenerateContextLostErrorOnCurrentGlobalContext();1109}1110}11111112void GL_APIENTRY GL_Materialx(GLenum face, GLenum pname, GLfixed param)1113{1114Context *context = GetValidGlobalContext();1115EVENT(context, GLMaterialx, "context = %d, face = %s, pname = %s, param = 0x%X", CID(context),1116GLenumToString(GLenumGroup::MaterialFace, face),1117GLenumToString(GLenumGroup::MaterialParameter, pname), param);11181119if (context)1120{1121MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);1122std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1123bool isCallValid =1124(context->skipValidation() || ValidateMaterialx(context, face, pnamePacked, param));1125if (isCallValid)1126{1127context->materialx(face, pnamePacked, param);1128}1129ANGLE_CAPTURE(Materialx, isCallValid, context, face, pnamePacked, param);1130}1131else1132{1133GenerateContextLostErrorOnCurrentGlobalContext();1134}1135}11361137void GL_APIENTRY GL_Materialxv(GLenum face, GLenum pname, const GLfixed *param)1138{1139Context *context = GetValidGlobalContext();1140EVENT(context, GLMaterialxv, "context = %d, face = %s, pname = %s, param = 0x%016" PRIxPTR "",1141CID(context), GLenumToString(GLenumGroup::MaterialFace, face),1142GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)param);11431144if (context)1145{1146MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);1147std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1148bool isCallValid =1149(context->skipValidation() || ValidateMaterialxv(context, face, pnamePacked, param));1150if (isCallValid)1151{1152context->materialxv(face, pnamePacked, param);1153}1154ANGLE_CAPTURE(Materialxv, isCallValid, context, face, pnamePacked, param);1155}1156else1157{1158GenerateContextLostErrorOnCurrentGlobalContext();1159}1160}11611162void GL_APIENTRY GL_MatrixMode(GLenum mode)1163{1164Context *context = GetValidGlobalContext();1165EVENT(context, GLMatrixMode, "context = %d, mode = %s", CID(context),1166GLenumToString(GLenumGroup::MatrixMode, mode));11671168if (context)1169{1170MatrixType modePacked = PackParam<MatrixType>(mode);1171std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1172bool isCallValid = (context->skipValidation() || ValidateMatrixMode(context, modePacked));1173if (isCallValid)1174{1175context->matrixMode(modePacked);1176}1177ANGLE_CAPTURE(MatrixMode, isCallValid, context, modePacked);1178}1179else1180{1181GenerateContextLostErrorOnCurrentGlobalContext();1182}1183}11841185void GL_APIENTRY GL_MultMatrixf(const GLfloat *m)1186{1187Context *context = GetValidGlobalContext();1188EVENT(context, GLMultMatrixf, "context = %d, m = 0x%016" PRIxPTR "", CID(context),1189(uintptr_t)m);11901191if (context)1192{1193std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1194bool isCallValid = (context->skipValidation() || ValidateMultMatrixf(context, m));1195if (isCallValid)1196{1197context->multMatrixf(m);1198}1199ANGLE_CAPTURE(MultMatrixf, isCallValid, context, m);1200}1201else1202{1203GenerateContextLostErrorOnCurrentGlobalContext();1204}1205}12061207void GL_APIENTRY GL_MultMatrixx(const GLfixed *m)1208{1209Context *context = GetValidGlobalContext();1210EVENT(context, GLMultMatrixx, "context = %d, m = 0x%016" PRIxPTR "", CID(context),1211(uintptr_t)m);12121213if (context)1214{1215std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1216bool isCallValid = (context->skipValidation() || ValidateMultMatrixx(context, m));1217if (isCallValid)1218{1219context->multMatrixx(m);1220}1221ANGLE_CAPTURE(MultMatrixx, isCallValid, context, m);1222}1223else1224{1225GenerateContextLostErrorOnCurrentGlobalContext();1226}1227}12281229void GL_APIENTRY GL_MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)1230{1231Context *context = GetValidGlobalContext();1232EVENT(context, GLMultiTexCoord4f, "context = %d, target = %s, s = %f, t = %f, r = %f, q = %f",1233CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r, q);12341235if (context)1236{1237std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1238bool isCallValid =1239(context->skipValidation() || ValidateMultiTexCoord4f(context, target, s, t, r, q));1240if (isCallValid)1241{1242context->multiTexCoord4f(target, s, t, r, q);1243}1244ANGLE_CAPTURE(MultiTexCoord4f, isCallValid, context, target, s, t, r, q);1245}1246else1247{1248GenerateContextLostErrorOnCurrentGlobalContext();1249}1250}12511252void GL_APIENTRY GL_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q)1253{1254Context *context = GetValidGlobalContext();1255EVENT(context, GLMultiTexCoord4x,1256"context = %d, texture = %s, s = 0x%X, t = 0x%X, r = 0x%X, q = 0x%X", CID(context),1257GLenumToString(GLenumGroup::TextureUnit, texture), s, t, r, q);12581259if (context)1260{1261std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1262bool isCallValid =1263(context->skipValidation() || ValidateMultiTexCoord4x(context, texture, s, t, r, q));1264if (isCallValid)1265{1266context->multiTexCoord4x(texture, s, t, r, q);1267}1268ANGLE_CAPTURE(MultiTexCoord4x, isCallValid, context, texture, s, t, r, q);1269}1270else1271{1272GenerateContextLostErrorOnCurrentGlobalContext();1273}1274}12751276void GL_APIENTRY GL_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz)1277{1278Context *context = GetValidGlobalContext();1279EVENT(context, GLNormal3f, "context = %d, nx = %f, ny = %f, nz = %f", CID(context), nx, ny, nz);12801281if (context)1282{1283std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1284bool isCallValid = (context->skipValidation() || ValidateNormal3f(context, nx, ny, nz));1285if (isCallValid)1286{1287context->normal3f(nx, ny, nz);1288}1289ANGLE_CAPTURE(Normal3f, isCallValid, context, nx, ny, nz);1290}1291else1292{1293GenerateContextLostErrorOnCurrentGlobalContext();1294}1295}12961297void GL_APIENTRY GL_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz)1298{1299Context *context = GetValidGlobalContext();1300EVENT(context, GLNormal3x, "context = %d, nx = 0x%X, ny = 0x%X, nz = 0x%X", CID(context), nx,1301ny, nz);13021303if (context)1304{1305std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1306bool isCallValid = (context->skipValidation() || ValidateNormal3x(context, nx, ny, nz));1307if (isCallValid)1308{1309context->normal3x(nx, ny, nz);1310}1311ANGLE_CAPTURE(Normal3x, isCallValid, context, nx, ny, nz);1312}1313else1314{1315GenerateContextLostErrorOnCurrentGlobalContext();1316}1317}13181319void GL_APIENTRY GL_NormalPointer(GLenum type, GLsizei stride, const void *pointer)1320{1321Context *context = GetValidGlobalContext();1322EVENT(context, GLNormalPointer,1323"context = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "", CID(context),1324GLenumToString(GLenumGroup::NormalPointerType, type), stride, (uintptr_t)pointer);13251326if (context)1327{1328VertexAttribType typePacked = PackParam<VertexAttribType>(type);1329std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1330bool isCallValid = (context->skipValidation() ||1331ValidateNormalPointer(context, typePacked, stride, pointer));1332if (isCallValid)1333{1334context->normalPointer(typePacked, stride, pointer);1335}1336ANGLE_CAPTURE(NormalPointer, isCallValid, context, typePacked, stride, pointer);1337}1338else1339{1340GenerateContextLostErrorOnCurrentGlobalContext();1341}1342}13431344void GL_APIENTRY GL_Orthof(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f)1345{1346Context *context = GetValidGlobalContext();1347EVENT(context, GLOrthof, "context = %d, l = %f, r = %f, b = %f, t = %f, n = %f, f = %f",1348CID(context), l, r, b, t, n, f);13491350if (context)1351{1352std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1353bool isCallValid = (context->skipValidation() || ValidateOrthof(context, l, r, b, t, n, f));1354if (isCallValid)1355{1356context->orthof(l, r, b, t, n, f);1357}1358ANGLE_CAPTURE(Orthof, isCallValid, context, l, r, b, t, n, f);1359}1360else1361{1362GenerateContextLostErrorOnCurrentGlobalContext();1363}1364}13651366void GL_APIENTRY GL_Orthox(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f)1367{1368Context *context = GetValidGlobalContext();1369EVENT(context, GLOrthox,1370"context = %d, l = 0x%X, r = 0x%X, b = 0x%X, t = 0x%X, n = 0x%X, f = 0x%X", CID(context),1371l, r, b, t, n, f);13721373if (context)1374{1375std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1376bool isCallValid = (context->skipValidation() || ValidateOrthox(context, l, r, b, t, n, f));1377if (isCallValid)1378{1379context->orthox(l, r, b, t, n, f);1380}1381ANGLE_CAPTURE(Orthox, isCallValid, context, l, r, b, t, n, f);1382}1383else1384{1385GenerateContextLostErrorOnCurrentGlobalContext();1386}1387}13881389void GL_APIENTRY GL_PointParameterf(GLenum pname, GLfloat param)1390{1391Context *context = GetValidGlobalContext();1392EVENT(context, GLPointParameterf, "context = %d, pname = %s, param = %f", CID(context),1393GLenumToString(GLenumGroup::DefaultGroup, pname), param);13941395if (context)1396{1397PointParameter pnamePacked = PackParam<PointParameter>(pname);1398std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1399bool isCallValid =1400(context->skipValidation() || ValidatePointParameterf(context, pnamePacked, param));1401if (isCallValid)1402{1403context->pointParameterf(pnamePacked, param);1404}1405ANGLE_CAPTURE(PointParameterf, isCallValid, context, pnamePacked, param);1406}1407else1408{1409GenerateContextLostErrorOnCurrentGlobalContext();1410}1411}14121413void GL_APIENTRY GL_PointParameterfv(GLenum pname, const GLfloat *params)1414{1415Context *context = GetValidGlobalContext();1416EVENT(context, GLPointParameterfv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",1417CID(context), GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);14181419if (context)1420{1421PointParameter pnamePacked = PackParam<PointParameter>(pname);1422std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1423bool isCallValid =1424(context->skipValidation() || ValidatePointParameterfv(context, pnamePacked, params));1425if (isCallValid)1426{1427context->pointParameterfv(pnamePacked, params);1428}1429ANGLE_CAPTURE(PointParameterfv, isCallValid, context, pnamePacked, params);1430}1431else1432{1433GenerateContextLostErrorOnCurrentGlobalContext();1434}1435}14361437void GL_APIENTRY GL_PointParameterx(GLenum pname, GLfixed param)1438{1439Context *context = GetValidGlobalContext();1440EVENT(context, GLPointParameterx, "context = %d, pname = %s, param = 0x%X", CID(context),1441GLenumToString(GLenumGroup::DefaultGroup, pname), param);14421443if (context)1444{1445PointParameter pnamePacked = PackParam<PointParameter>(pname);1446std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1447bool isCallValid =1448(context->skipValidation() || ValidatePointParameterx(context, pnamePacked, param));1449if (isCallValid)1450{1451context->pointParameterx(pnamePacked, param);1452}1453ANGLE_CAPTURE(PointParameterx, isCallValid, context, pnamePacked, param);1454}1455else1456{1457GenerateContextLostErrorOnCurrentGlobalContext();1458}1459}14601461void GL_APIENTRY GL_PointParameterxv(GLenum pname, const GLfixed *params)1462{1463Context *context = GetValidGlobalContext();1464EVENT(context, GLPointParameterxv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",1465CID(context), GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);14661467if (context)1468{1469PointParameter pnamePacked = PackParam<PointParameter>(pname);1470std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1471bool isCallValid =1472(context->skipValidation() || ValidatePointParameterxv(context, pnamePacked, params));1473if (isCallValid)1474{1475context->pointParameterxv(pnamePacked, params);1476}1477ANGLE_CAPTURE(PointParameterxv, isCallValid, context, pnamePacked, params);1478}1479else1480{1481GenerateContextLostErrorOnCurrentGlobalContext();1482}1483}14841485void GL_APIENTRY GL_PointSize(GLfloat size)1486{1487Context *context = GetValidGlobalContext();1488EVENT(context, GLPointSize, "context = %d, size = %f", CID(context), size);14891490if (context)1491{1492std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1493bool isCallValid = (context->skipValidation() || ValidatePointSize(context, size));1494if (isCallValid)1495{1496context->pointSize(size);1497}1498ANGLE_CAPTURE(PointSize, isCallValid, context, size);1499}1500else1501{1502GenerateContextLostErrorOnCurrentGlobalContext();1503}1504}15051506void GL_APIENTRY GL_PointSizex(GLfixed size)1507{1508Context *context = GetValidGlobalContext();1509EVENT(context, GLPointSizex, "context = %d, size = 0x%X", CID(context), size);15101511if (context)1512{1513std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1514bool isCallValid = (context->skipValidation() || ValidatePointSizex(context, size));1515if (isCallValid)1516{1517context->pointSizex(size);1518}1519ANGLE_CAPTURE(PointSizex, isCallValid, context, size);1520}1521else1522{1523GenerateContextLostErrorOnCurrentGlobalContext();1524}1525}15261527void GL_APIENTRY GL_PolygonOffsetx(GLfixed factor, GLfixed units)1528{1529Context *context = GetValidGlobalContext();1530EVENT(context, GLPolygonOffsetx, "context = %d, factor = 0x%X, units = 0x%X", CID(context),1531factor, units);15321533if (context)1534{1535std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1536bool isCallValid =1537(context->skipValidation() || ValidatePolygonOffsetx(context, factor, units));1538if (isCallValid)1539{1540context->polygonOffsetx(factor, units);1541}1542ANGLE_CAPTURE(PolygonOffsetx, isCallValid, context, factor, units);1543}1544else1545{1546GenerateContextLostErrorOnCurrentGlobalContext();1547}1548}15491550void GL_APIENTRY GL_PopMatrix()1551{1552Context *context = GetValidGlobalContext();1553EVENT(context, GLPopMatrix, "context = %d", CID(context));15541555if (context)1556{1557std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1558bool isCallValid = (context->skipValidation() || ValidatePopMatrix(context));1559if (isCallValid)1560{1561context->popMatrix();1562}1563ANGLE_CAPTURE(PopMatrix, isCallValid, context);1564}1565else1566{1567GenerateContextLostErrorOnCurrentGlobalContext();1568}1569}15701571void GL_APIENTRY GL_PushMatrix()1572{1573Context *context = GetValidGlobalContext();1574EVENT(context, GLPushMatrix, "context = %d", CID(context));15751576if (context)1577{1578std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1579bool isCallValid = (context->skipValidation() || ValidatePushMatrix(context));1580if (isCallValid)1581{1582context->pushMatrix();1583}1584ANGLE_CAPTURE(PushMatrix, isCallValid, context);1585}1586else1587{1588GenerateContextLostErrorOnCurrentGlobalContext();1589}1590}15911592void GL_APIENTRY GL_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)1593{1594Context *context = GetValidGlobalContext();1595EVENT(context, GLRotatef, "context = %d, angle = %f, x = %f, y = %f, z = %f", CID(context),1596angle, x, y, z);15971598if (context)1599{1600std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1601bool isCallValid = (context->skipValidation() || ValidateRotatef(context, angle, x, y, z));1602if (isCallValid)1603{1604context->rotatef(angle, x, y, z);1605}1606ANGLE_CAPTURE(Rotatef, isCallValid, context, angle, x, y, z);1607}1608else1609{1610GenerateContextLostErrorOnCurrentGlobalContext();1611}1612}16131614void GL_APIENTRY GL_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)1615{1616Context *context = GetValidGlobalContext();1617EVENT(context, GLRotatex, "context = %d, angle = 0x%X, x = 0x%X, y = 0x%X, z = 0x%X",1618CID(context), angle, x, y, z);16191620if (context)1621{1622std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1623bool isCallValid = (context->skipValidation() || ValidateRotatex(context, angle, x, y, z));1624if (isCallValid)1625{1626context->rotatex(angle, x, y, z);1627}1628ANGLE_CAPTURE(Rotatex, isCallValid, context, angle, x, y, z);1629}1630else1631{1632GenerateContextLostErrorOnCurrentGlobalContext();1633}1634}16351636void GL_APIENTRY GL_SampleCoveragex(GLclampx value, GLboolean invert)1637{1638Context *context = GetValidGlobalContext();1639EVENT(context, GLSampleCoveragex, "context = %d, value = 0x%X, invert = %s", CID(context),1640value, GLbooleanToString(invert));16411642if (context)1643{1644std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1645bool isCallValid =1646(context->skipValidation() || ValidateSampleCoveragex(context, value, invert));1647if (isCallValid)1648{1649context->sampleCoveragex(value, invert);1650}1651ANGLE_CAPTURE(SampleCoveragex, isCallValid, context, value, invert);1652}1653else1654{1655GenerateContextLostErrorOnCurrentGlobalContext();1656}1657}16581659void GL_APIENTRY GL_Scalef(GLfloat x, GLfloat y, GLfloat z)1660{1661Context *context = GetValidGlobalContext();1662EVENT(context, GLScalef, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);16631664if (context)1665{1666std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1667bool isCallValid = (context->skipValidation() || ValidateScalef(context, x, y, z));1668if (isCallValid)1669{1670context->scalef(x, y, z);1671}1672ANGLE_CAPTURE(Scalef, isCallValid, context, x, y, z);1673}1674else1675{1676GenerateContextLostErrorOnCurrentGlobalContext();1677}1678}16791680void GL_APIENTRY GL_Scalex(GLfixed x, GLfixed y, GLfixed z)1681{1682Context *context = GetValidGlobalContext();1683EVENT(context, GLScalex, "context = %d, x = 0x%X, y = 0x%X, z = 0x%X", CID(context), x, y, z);16841685if (context)1686{1687std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1688bool isCallValid = (context->skipValidation() || ValidateScalex(context, x, y, z));1689if (isCallValid)1690{1691context->scalex(x, y, z);1692}1693ANGLE_CAPTURE(Scalex, isCallValid, context, x, y, z);1694}1695else1696{1697GenerateContextLostErrorOnCurrentGlobalContext();1698}1699}17001701void GL_APIENTRY GL_ShadeModel(GLenum mode)1702{1703Context *context = GetValidGlobalContext();1704EVENT(context, GLShadeModel, "context = %d, mode = %s", CID(context),1705GLenumToString(GLenumGroup::ShadingModel, mode));17061707if (context)1708{1709ShadingModel modePacked = PackParam<ShadingModel>(mode);1710std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1711bool isCallValid = (context->skipValidation() || ValidateShadeModel(context, modePacked));1712if (isCallValid)1713{1714context->shadeModel(modePacked);1715}1716ANGLE_CAPTURE(ShadeModel, isCallValid, context, modePacked);1717}1718else1719{1720GenerateContextLostErrorOnCurrentGlobalContext();1721}1722}17231724void GL_APIENTRY GL_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)1725{1726Context *context = GetValidGlobalContext();1727EVENT(context, GLTexCoordPointer,1728"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",1729CID(context), size, GLenumToString(GLenumGroup::TexCoordPointerType, type), stride,1730(uintptr_t)pointer);17311732if (context)1733{1734VertexAttribType typePacked = PackParam<VertexAttribType>(type);1735std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1736bool isCallValid = (context->skipValidation() ||1737ValidateTexCoordPointer(context, size, typePacked, stride, pointer));1738if (isCallValid)1739{1740context->texCoordPointer(size, typePacked, stride, pointer);1741}1742ANGLE_CAPTURE(TexCoordPointer, isCallValid, context, size, typePacked, stride, pointer);1743}1744else1745{1746GenerateContextLostErrorOnCurrentGlobalContext();1747}1748}17491750void GL_APIENTRY GL_TexEnvf(GLenum target, GLenum pname, GLfloat param)1751{1752Context *context = GetValidGlobalContext();1753EVENT(context, GLTexEnvf, "context = %d, target = %s, pname = %s, param = %f", CID(context),1754GLenumToString(GLenumGroup::TextureEnvTarget, target),1755GLenumToString(GLenumGroup::TextureEnvParameter, pname), param);17561757if (context)1758{1759TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);1760TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);1761std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1762bool isCallValid = (context->skipValidation() ||1763ValidateTexEnvf(context, targetPacked, pnamePacked, param));1764if (isCallValid)1765{1766context->texEnvf(targetPacked, pnamePacked, param);1767}1768ANGLE_CAPTURE(TexEnvf, isCallValid, context, targetPacked, pnamePacked, param);1769}1770else1771{1772GenerateContextLostErrorOnCurrentGlobalContext();1773}1774}17751776void GL_APIENTRY GL_TexEnvfv(GLenum target, GLenum pname, const GLfloat *params)1777{1778Context *context = GetValidGlobalContext();1779EVENT(context, GLTexEnvfv, "context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "",1780CID(context), GLenumToString(GLenumGroup::TextureEnvTarget, target),1781GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);17821783if (context)1784{1785TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);1786TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);1787std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1788bool isCallValid = (context->skipValidation() ||1789ValidateTexEnvfv(context, targetPacked, pnamePacked, params));1790if (isCallValid)1791{1792context->texEnvfv(targetPacked, pnamePacked, params);1793}1794ANGLE_CAPTURE(TexEnvfv, isCallValid, context, targetPacked, pnamePacked, params);1795}1796else1797{1798GenerateContextLostErrorOnCurrentGlobalContext();1799}1800}18011802void GL_APIENTRY GL_TexEnvi(GLenum target, GLenum pname, GLint param)1803{1804Context *context = GetValidGlobalContext();1805EVENT(context, GLTexEnvi, "context = %d, target = %s, pname = %s, param = %d", CID(context),1806GLenumToString(GLenumGroup::TextureEnvTarget, target),1807GLenumToString(GLenumGroup::TextureEnvParameter, pname), param);18081809if (context)1810{1811TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);1812TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);1813std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1814bool isCallValid = (context->skipValidation() ||1815ValidateTexEnvi(context, targetPacked, pnamePacked, param));1816if (isCallValid)1817{1818context->texEnvi(targetPacked, pnamePacked, param);1819}1820ANGLE_CAPTURE(TexEnvi, isCallValid, context, targetPacked, pnamePacked, param);1821}1822else1823{1824GenerateContextLostErrorOnCurrentGlobalContext();1825}1826}18271828void GL_APIENTRY GL_TexEnviv(GLenum target, GLenum pname, const GLint *params)1829{1830Context *context = GetValidGlobalContext();1831EVENT(context, GLTexEnviv, "context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "",1832CID(context), GLenumToString(GLenumGroup::TextureEnvTarget, target),1833GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);18341835if (context)1836{1837TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);1838TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);1839std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1840bool isCallValid = (context->skipValidation() ||1841ValidateTexEnviv(context, targetPacked, pnamePacked, params));1842if (isCallValid)1843{1844context->texEnviv(targetPacked, pnamePacked, params);1845}1846ANGLE_CAPTURE(TexEnviv, isCallValid, context, targetPacked, pnamePacked, params);1847}1848else1849{1850GenerateContextLostErrorOnCurrentGlobalContext();1851}1852}18531854void GL_APIENTRY GL_TexEnvx(GLenum target, GLenum pname, GLfixed param)1855{1856Context *context = GetValidGlobalContext();1857EVENT(context, GLTexEnvx, "context = %d, target = %s, pname = %s, param = 0x%X", CID(context),1858GLenumToString(GLenumGroup::TextureEnvTarget, target),1859GLenumToString(GLenumGroup::TextureEnvParameter, pname), param);18601861if (context)1862{1863TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);1864TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);1865std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1866bool isCallValid = (context->skipValidation() ||1867ValidateTexEnvx(context, targetPacked, pnamePacked, param));1868if (isCallValid)1869{1870context->texEnvx(targetPacked, pnamePacked, param);1871}1872ANGLE_CAPTURE(TexEnvx, isCallValid, context, targetPacked, pnamePacked, param);1873}1874else1875{1876GenerateContextLostErrorOnCurrentGlobalContext();1877}1878}18791880void GL_APIENTRY GL_TexEnvxv(GLenum target, GLenum pname, const GLfixed *params)1881{1882Context *context = GetValidGlobalContext();1883EVENT(context, GLTexEnvxv, "context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "",1884CID(context), GLenumToString(GLenumGroup::TextureEnvTarget, target),1885GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);18861887if (context)1888{1889TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);1890TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);1891std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1892bool isCallValid = (context->skipValidation() ||1893ValidateTexEnvxv(context, targetPacked, pnamePacked, params));1894if (isCallValid)1895{1896context->texEnvxv(targetPacked, pnamePacked, params);1897}1898ANGLE_CAPTURE(TexEnvxv, isCallValid, context, targetPacked, pnamePacked, params);1899}1900else1901{1902GenerateContextLostErrorOnCurrentGlobalContext();1903}1904}19051906void GL_APIENTRY GL_TexParameterx(GLenum target, GLenum pname, GLfixed param)1907{1908Context *context = GetValidGlobalContext();1909EVENT(context, GLTexParameterx, "context = %d, target = %s, pname = %s, param = 0x%X",1910CID(context), GLenumToString(GLenumGroup::TextureTarget, target),1911GLenumToString(GLenumGroup::GetTextureParameter, pname), param);19121913if (context)1914{1915TextureType targetPacked = PackParam<TextureType>(target);1916std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1917bool isCallValid = (context->skipValidation() ||1918ValidateTexParameterx(context, targetPacked, pname, param));1919if (isCallValid)1920{1921context->texParameterx(targetPacked, pname, param);1922}1923ANGLE_CAPTURE(TexParameterx, isCallValid, context, targetPacked, pname, param);1924}1925else1926{1927GenerateContextLostErrorOnCurrentGlobalContext();1928}1929}19301931void GL_APIENTRY GL_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params)1932{1933Context *context = GetValidGlobalContext();1934EVENT(context, GLTexParameterxv,1935"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),1936GLenumToString(GLenumGroup::TextureTarget, target),1937GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);19381939if (context)1940{1941TextureType targetPacked = PackParam<TextureType>(target);1942std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1943bool isCallValid = (context->skipValidation() ||1944ValidateTexParameterxv(context, targetPacked, pname, params));1945if (isCallValid)1946{1947context->texParameterxv(targetPacked, pname, params);1948}1949ANGLE_CAPTURE(TexParameterxv, isCallValid, context, targetPacked, pname, params);1950}1951else1952{1953GenerateContextLostErrorOnCurrentGlobalContext();1954}1955}19561957void GL_APIENTRY GL_Translatef(GLfloat x, GLfloat y, GLfloat z)1958{1959Context *context = GetValidGlobalContext();1960EVENT(context, GLTranslatef, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);19611962if (context)1963{1964std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1965bool isCallValid = (context->skipValidation() || ValidateTranslatef(context, x, y, z));1966if (isCallValid)1967{1968context->translatef(x, y, z);1969}1970ANGLE_CAPTURE(Translatef, isCallValid, context, x, y, z);1971}1972else1973{1974GenerateContextLostErrorOnCurrentGlobalContext();1975}1976}19771978void GL_APIENTRY GL_Translatex(GLfixed x, GLfixed y, GLfixed z)1979{1980Context *context = GetValidGlobalContext();1981EVENT(context, GLTranslatex, "context = %d, x = 0x%X, y = 0x%X, z = 0x%X", CID(context), x, y,1982z);19831984if (context)1985{1986std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);1987bool isCallValid = (context->skipValidation() || ValidateTranslatex(context, x, y, z));1988if (isCallValid)1989{1990context->translatex(x, y, z);1991}1992ANGLE_CAPTURE(Translatex, isCallValid, context, x, y, z);1993}1994else1995{1996GenerateContextLostErrorOnCurrentGlobalContext();1997}1998}19992000void GL_APIENTRY GL_VertexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)2001{2002Context *context = GetValidGlobalContext();2003EVENT(context, GLVertexPointer,2004"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",2005CID(context), size, GLenumToString(GLenumGroup::VertexPointerType, type), stride,2006(uintptr_t)pointer);20072008if (context)2009{2010VertexAttribType typePacked = PackParam<VertexAttribType>(type);2011std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);2012bool isCallValid = (context->skipValidation() ||2013ValidateVertexPointer(context, size, typePacked, stride, pointer));2014if (isCallValid)2015{2016context->vertexPointer(size, typePacked, stride, pointer);2017}2018ANGLE_CAPTURE(VertexPointer, isCallValid, context, size, typePacked, stride, pointer);2019}2020else2021{2022GenerateContextLostErrorOnCurrentGlobalContext();2023}2024}20252026} // extern "C"202720282029