1bf215546Sopenharmony_ci/************************************************************************** 2bf215546Sopenharmony_ci * 3bf215546Sopenharmony_ci * Copyright 2015 VMware, Inc. 4bf215546Sopenharmony_ci * All Rights Reserved. 5bf215546Sopenharmony_ci * 6bf215546Sopenharmony_ci * Permission is hereby granted, free of charge, to any person obtaining a 7bf215546Sopenharmony_ci * copy of this software and associated documentation files (the 8bf215546Sopenharmony_ci * "Software"), to deal in the Software without restriction, including 9bf215546Sopenharmony_ci * without limitation the rights to use, copy, modify, merge, publish, 10bf215546Sopenharmony_ci * distribute, sub license, and/or sell copies of the Software, and to 11bf215546Sopenharmony_ci * permit persons to whom the Software is furnished to do so, subject to 12bf215546Sopenharmony_ci * the following conditions: 13bf215546Sopenharmony_ci * 14bf215546Sopenharmony_ci * The above copyright notice and this permission notice (including the 15bf215546Sopenharmony_ci * next paragraph) shall be included in all copies or substantial portions 16bf215546Sopenharmony_ci * of the Software. 17bf215546Sopenharmony_ci * 18bf215546Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19bf215546Sopenharmony_ci * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20bf215546Sopenharmony_ci * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21bf215546Sopenharmony_ci * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR 22bf215546Sopenharmony_ci * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23bf215546Sopenharmony_ci * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24bf215546Sopenharmony_ci * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25bf215546Sopenharmony_ci * 26bf215546Sopenharmony_ci **************************************************************************/ 27bf215546Sopenharmony_ci 28bf215546Sopenharmony_ci/** 29bf215546Sopenharmony_ci * No-op GL API functions. 30bf215546Sopenharmony_ci * 31bf215546Sopenharmony_ci * Some OpenGL apps (like Viewperf12) call wglGetProcAddress() to get 32bf215546Sopenharmony_ci * a pointer to an extension function, get a NULL pointer, but don't bother 33bf215546Sopenharmony_ci * to check for NULL before jumping through the pointer. This causes a 34bf215546Sopenharmony_ci * crash. 35bf215546Sopenharmony_ci * 36bf215546Sopenharmony_ci * As a work-around we provide some no-op functions here to avoid those 37bf215546Sopenharmony_ci * crashes. 38bf215546Sopenharmony_ci */ 39bf215546Sopenharmony_ci 40bf215546Sopenharmony_ci#include <GL/gl.h> 41bf215546Sopenharmony_ci#include "stw_nopfuncs.h" 42bf215546Sopenharmony_ci#include "util/u_debug.h" 43bf215546Sopenharmony_ci 44bf215546Sopenharmony_ci 45bf215546Sopenharmony_cistatic void 46bf215546Sopenharmony_ciwarning(const char *name) 47bf215546Sopenharmony_ci{ 48bf215546Sopenharmony_ci /* use name+4 to skip "nop_" prefix */ 49bf215546Sopenharmony_ci _debug_printf("Application calling unsupported %s function\n", name+4); 50bf215546Sopenharmony_ci} 51bf215546Sopenharmony_ci 52bf215546Sopenharmony_cistatic void APIENTRY 53bf215546Sopenharmony_cinop_glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture) 54bf215546Sopenharmony_ci{ 55bf215546Sopenharmony_ci warning(__func__); 56bf215546Sopenharmony_ci} 57bf215546Sopenharmony_ci 58bf215546Sopenharmony_cistatic void APIENTRY 59bf215546Sopenharmony_cinop_glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue) 60bf215546Sopenharmony_ci{ 61bf215546Sopenharmony_ci warning(__func__); 62bf215546Sopenharmony_ci} 63bf215546Sopenharmony_ci 64bf215546Sopenharmony_cistatic void APIENTRY 65bf215546Sopenharmony_cinop_glColor3hvNV(const GLhalfNV *v) 66bf215546Sopenharmony_ci{ 67bf215546Sopenharmony_ci warning(__func__); 68bf215546Sopenharmony_ci} 69bf215546Sopenharmony_ci 70bf215546Sopenharmony_cistatic void APIENTRY 71bf215546Sopenharmony_cinop_glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha) 72bf215546Sopenharmony_ci{ 73bf215546Sopenharmony_ci warning(__func__); 74bf215546Sopenharmony_ci} 75bf215546Sopenharmony_ci 76bf215546Sopenharmony_cistatic void APIENTRY 77bf215546Sopenharmony_cinop_glColor4hvNV(const GLhalfNV *v) 78bf215546Sopenharmony_ci{ 79bf215546Sopenharmony_ci warning(__func__); 80bf215546Sopenharmony_ci} 81bf215546Sopenharmony_ci 82bf215546Sopenharmony_cistatic void APIENTRY 83bf215546Sopenharmony_cinop_glDisableClientStateIndexedEXT(GLenum array, GLuint index) 84bf215546Sopenharmony_ci{ 85bf215546Sopenharmony_ci warning(__func__); 86bf215546Sopenharmony_ci} 87bf215546Sopenharmony_ci 88bf215546Sopenharmony_cistatic void APIENTRY 89bf215546Sopenharmony_cinop_glEnableClientStateIndexedEXT(GLenum array, GLuint index) 90bf215546Sopenharmony_ci{ 91bf215546Sopenharmony_ci warning(__func__); 92bf215546Sopenharmony_ci} 93bf215546Sopenharmony_ci 94bf215546Sopenharmony_cistatic void APIENTRY 95bf215546Sopenharmony_cinop_glFogCoordhNV(GLhalfNV fog) 96bf215546Sopenharmony_ci{ 97bf215546Sopenharmony_ci warning(__func__); 98bf215546Sopenharmony_ci} 99bf215546Sopenharmony_ci 100bf215546Sopenharmony_cistatic void APIENTRY 101bf215546Sopenharmony_cinop_glFogCoordhvNV(const GLhalfNV *fog) 102bf215546Sopenharmony_ci{ 103bf215546Sopenharmony_ci warning(__func__); 104bf215546Sopenharmony_ci} 105bf215546Sopenharmony_ci 106bf215546Sopenharmony_cistatic void APIENTRY 107bf215546Sopenharmony_cinop_glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params) 108bf215546Sopenharmony_ci{ 109bf215546Sopenharmony_ci warning(__func__); 110bf215546Sopenharmony_ci} 111bf215546Sopenharmony_ci 112bf215546Sopenharmony_cistatic void APIENTRY 113bf215546Sopenharmony_cinop_glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data) 114bf215546Sopenharmony_ci{ 115bf215546Sopenharmony_ci warning(__func__); 116bf215546Sopenharmony_ci} 117bf215546Sopenharmony_ci 118bf215546Sopenharmony_cistatic void *APIENTRY 119bf215546Sopenharmony_cinop_glMapNamedBufferEXT(GLuint buffer, GLenum access) 120bf215546Sopenharmony_ci{ 121bf215546Sopenharmony_ci warning(__func__); 122bf215546Sopenharmony_ci return NULL; 123bf215546Sopenharmony_ci} 124bf215546Sopenharmony_ci 125bf215546Sopenharmony_cistatic void APIENTRY 126bf215546Sopenharmony_cinop_glMatrixLoadfEXT(GLenum mode, const GLfloat *m) 127bf215546Sopenharmony_ci{ 128bf215546Sopenharmony_ci warning(__func__); 129bf215546Sopenharmony_ci} 130bf215546Sopenharmony_ci 131bf215546Sopenharmony_cistatic void APIENTRY 132bf215546Sopenharmony_cinop_glMatrixLoadIdentityEXT(GLenum mode) 133bf215546Sopenharmony_ci{ 134bf215546Sopenharmony_ci warning(__func__); 135bf215546Sopenharmony_ci} 136bf215546Sopenharmony_ci 137bf215546Sopenharmony_cistatic void APIENTRY 138bf215546Sopenharmony_cinop_glMultiTexCoord1hNV(GLenum target, GLhalfNV s) 139bf215546Sopenharmony_ci{ 140bf215546Sopenharmony_ci warning(__func__); 141bf215546Sopenharmony_ci} 142bf215546Sopenharmony_ci 143bf215546Sopenharmony_cistatic void APIENTRY 144bf215546Sopenharmony_cinop_glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v) 145bf215546Sopenharmony_ci{ 146bf215546Sopenharmony_ci warning(__func__); 147bf215546Sopenharmony_ci} 148bf215546Sopenharmony_ci 149bf215546Sopenharmony_cistatic void APIENTRY 150bf215546Sopenharmony_cinop_glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t) 151bf215546Sopenharmony_ci{ 152bf215546Sopenharmony_ci warning(__func__); 153bf215546Sopenharmony_ci} 154bf215546Sopenharmony_ci 155bf215546Sopenharmony_cistatic void APIENTRY 156bf215546Sopenharmony_cinop_glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v) 157bf215546Sopenharmony_ci{ 158bf215546Sopenharmony_ci warning(__func__); 159bf215546Sopenharmony_ci} 160bf215546Sopenharmony_ci 161bf215546Sopenharmony_cistatic void APIENTRY 162bf215546Sopenharmony_cinop_glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r) 163bf215546Sopenharmony_ci{ 164bf215546Sopenharmony_ci warning(__func__); 165bf215546Sopenharmony_ci} 166bf215546Sopenharmony_ci 167bf215546Sopenharmony_cistatic void APIENTRY 168bf215546Sopenharmony_cinop_glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v) 169bf215546Sopenharmony_ci{ 170bf215546Sopenharmony_ci warning(__func__); 171bf215546Sopenharmony_ci} 172bf215546Sopenharmony_ci 173bf215546Sopenharmony_cistatic void APIENTRY 174bf215546Sopenharmony_cinop_glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) 175bf215546Sopenharmony_ci{ 176bf215546Sopenharmony_ci warning(__func__); 177bf215546Sopenharmony_ci} 178bf215546Sopenharmony_ci 179bf215546Sopenharmony_cistatic void APIENTRY 180bf215546Sopenharmony_cinop_glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v) 181bf215546Sopenharmony_ci{ 182bf215546Sopenharmony_ci warning(__func__); 183bf215546Sopenharmony_ci} 184bf215546Sopenharmony_ci 185bf215546Sopenharmony_cistatic void APIENTRY 186bf215546Sopenharmony_cinop_glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer) 187bf215546Sopenharmony_ci{ 188bf215546Sopenharmony_ci warning(__func__); 189bf215546Sopenharmony_ci} 190bf215546Sopenharmony_ci 191bf215546Sopenharmony_cistatic void APIENTRY 192bf215546Sopenharmony_cinop_glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) 193bf215546Sopenharmony_ci{ 194bf215546Sopenharmony_ci warning(__func__); 195bf215546Sopenharmony_ci} 196bf215546Sopenharmony_ci 197bf215546Sopenharmony_cistatic void APIENTRY 198bf215546Sopenharmony_cinop_glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params) 199bf215546Sopenharmony_ci{ 200bf215546Sopenharmony_ci warning(__func__); 201bf215546Sopenharmony_ci} 202bf215546Sopenharmony_ci 203bf215546Sopenharmony_cistatic void APIENTRY 204bf215546Sopenharmony_cinop_glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) 205bf215546Sopenharmony_ci{ 206bf215546Sopenharmony_ci warning(__func__); 207bf215546Sopenharmony_ci} 208bf215546Sopenharmony_ci 209bf215546Sopenharmony_cistatic void APIENTRY 210bf215546Sopenharmony_cinop_glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params) 211bf215546Sopenharmony_ci{ 212bf215546Sopenharmony_ci warning(__func__); 213bf215546Sopenharmony_ci} 214bf215546Sopenharmony_ci 215bf215546Sopenharmony_cistatic void APIENTRY 216bf215546Sopenharmony_cinop_glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param) 217bf215546Sopenharmony_ci{ 218bf215546Sopenharmony_ci warning(__func__); 219bf215546Sopenharmony_ci} 220bf215546Sopenharmony_ci 221bf215546Sopenharmony_cistatic void APIENTRY 222bf215546Sopenharmony_cinop_glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage) 223bf215546Sopenharmony_ci{ 224bf215546Sopenharmony_ci warning(__func__); 225bf215546Sopenharmony_ci} 226bf215546Sopenharmony_ci 227bf215546Sopenharmony_cistatic void APIENTRY 228bf215546Sopenharmony_cinop_glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data) 229bf215546Sopenharmony_ci{ 230bf215546Sopenharmony_ci warning(__func__); 231bf215546Sopenharmony_ci} 232bf215546Sopenharmony_ci 233bf215546Sopenharmony_cistatic void APIENTRY 234bf215546Sopenharmony_cinop_glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params) 235bf215546Sopenharmony_ci{ 236bf215546Sopenharmony_ci warning(__func__); 237bf215546Sopenharmony_ci} 238bf215546Sopenharmony_ci 239bf215546Sopenharmony_cistatic void APIENTRY 240bf215546Sopenharmony_cinop_glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params) 241bf215546Sopenharmony_ci{ 242bf215546Sopenharmony_ci warning(__func__); 243bf215546Sopenharmony_ci} 244bf215546Sopenharmony_ci 245bf215546Sopenharmony_cistatic void APIENTRY 246bf215546Sopenharmony_cinop_glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz) 247bf215546Sopenharmony_ci{ 248bf215546Sopenharmony_ci warning(__func__); 249bf215546Sopenharmony_ci} 250bf215546Sopenharmony_ci 251bf215546Sopenharmony_cistatic void APIENTRY 252bf215546Sopenharmony_cinop_glNormal3hvNV(const GLhalfNV *v) 253bf215546Sopenharmony_ci{ 254bf215546Sopenharmony_ci warning(__func__); 255bf215546Sopenharmony_ci} 256bf215546Sopenharmony_ci 257bf215546Sopenharmony_cistatic void APIENTRY 258bf215546Sopenharmony_cinop_glPatchParameterfv(GLenum pname, const GLfloat *values) 259bf215546Sopenharmony_ci{ 260bf215546Sopenharmony_ci warning(__func__); 261bf215546Sopenharmony_ci} 262bf215546Sopenharmony_ci 263bf215546Sopenharmony_cistatic void APIENTRY 264bf215546Sopenharmony_cinop_glPatchParameteri(GLenum pname, GLint value) 265bf215546Sopenharmony_ci{ 266bf215546Sopenharmony_ci warning(__func__); 267bf215546Sopenharmony_ci} 268bf215546Sopenharmony_ci 269bf215546Sopenharmony_cistatic void APIENTRY 270bf215546Sopenharmony_cinop_glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue) 271bf215546Sopenharmony_ci{ 272bf215546Sopenharmony_ci warning(__func__); 273bf215546Sopenharmony_ci} 274bf215546Sopenharmony_ci 275bf215546Sopenharmony_cistatic void APIENTRY 276bf215546Sopenharmony_cinop_glSecondaryColor3hvNV(const GLhalfNV *v) 277bf215546Sopenharmony_ci{ 278bf215546Sopenharmony_ci warning(__func__); 279bf215546Sopenharmony_ci} 280bf215546Sopenharmony_ci 281bf215546Sopenharmony_cistatic void APIENTRY 282bf215546Sopenharmony_cinop_glTexCoord1hNV(GLhalfNV s) 283bf215546Sopenharmony_ci{ 284bf215546Sopenharmony_ci warning(__func__); 285bf215546Sopenharmony_ci} 286bf215546Sopenharmony_ci 287bf215546Sopenharmony_cistatic void APIENTRY 288bf215546Sopenharmony_cinop_glTexCoord1hvNV(const GLhalfNV *v) 289bf215546Sopenharmony_ci{ 290bf215546Sopenharmony_ci warning(__func__); 291bf215546Sopenharmony_ci} 292bf215546Sopenharmony_ci 293bf215546Sopenharmony_cistatic void APIENTRY 294bf215546Sopenharmony_cinop_glTexCoord2hNV(GLhalfNV s, GLhalfNV t) 295bf215546Sopenharmony_ci{ 296bf215546Sopenharmony_ci warning(__func__); 297bf215546Sopenharmony_ci} 298bf215546Sopenharmony_ci 299bf215546Sopenharmony_cistatic void APIENTRY 300bf215546Sopenharmony_cinop_glTexCoord2hvNV(const GLhalfNV *v) 301bf215546Sopenharmony_ci{ 302bf215546Sopenharmony_ci warning(__func__); 303bf215546Sopenharmony_ci} 304bf215546Sopenharmony_ci 305bf215546Sopenharmony_cistatic void APIENTRY 306bf215546Sopenharmony_cinop_glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r) 307bf215546Sopenharmony_ci{ 308bf215546Sopenharmony_ci warning(__func__); 309bf215546Sopenharmony_ci} 310bf215546Sopenharmony_ci 311bf215546Sopenharmony_cistatic void APIENTRY 312bf215546Sopenharmony_cinop_glTexCoord3hvNV(const GLhalfNV *v) 313bf215546Sopenharmony_ci{ 314bf215546Sopenharmony_ci warning(__func__); 315bf215546Sopenharmony_ci} 316bf215546Sopenharmony_ci 317bf215546Sopenharmony_cistatic void APIENTRY 318bf215546Sopenharmony_cinop_glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) 319bf215546Sopenharmony_ci{ 320bf215546Sopenharmony_ci warning(__func__); 321bf215546Sopenharmony_ci} 322bf215546Sopenharmony_ci 323bf215546Sopenharmony_cistatic void APIENTRY 324bf215546Sopenharmony_cinop_glTexCoord4hvNV(const GLhalfNV *v) 325bf215546Sopenharmony_ci{ 326bf215546Sopenharmony_ci warning(__func__); 327bf215546Sopenharmony_ci} 328bf215546Sopenharmony_ci 329bf215546Sopenharmony_cistatic void APIENTRY 330bf215546Sopenharmony_cinop_glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) 331bf215546Sopenharmony_ci{ 332bf215546Sopenharmony_ci warning(__func__); 333bf215546Sopenharmony_ci} 334bf215546Sopenharmony_ci 335bf215546Sopenharmony_cistatic void APIENTRY 336bf215546Sopenharmony_cinop_glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *params) 337bf215546Sopenharmony_ci{ 338bf215546Sopenharmony_ci warning(__func__); 339bf215546Sopenharmony_ci} 340bf215546Sopenharmony_ci 341bf215546Sopenharmony_cistatic void APIENTRY 342bf215546Sopenharmony_cinop_glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param) 343bf215546Sopenharmony_ci{ 344bf215546Sopenharmony_ci warning(__func__); 345bf215546Sopenharmony_ci} 346bf215546Sopenharmony_ci 347bf215546Sopenharmony_cistatic GLboolean APIENTRY 348bf215546Sopenharmony_cinop_glUnmapNamedBufferEXT(GLuint buffer) 349bf215546Sopenharmony_ci{ 350bf215546Sopenharmony_ci warning(__func__); 351bf215546Sopenharmony_ci return GL_FALSE; 352bf215546Sopenharmony_ci} 353bf215546Sopenharmony_ci 354bf215546Sopenharmony_cistatic void APIENTRY 355bf215546Sopenharmony_cinop_glVertex2hNV(GLhalfNV x, GLhalfNV y) 356bf215546Sopenharmony_ci{ 357bf215546Sopenharmony_ci warning(__func__); 358bf215546Sopenharmony_ci} 359bf215546Sopenharmony_ci 360bf215546Sopenharmony_cistatic void APIENTRY 361bf215546Sopenharmony_cinop_glVertex2hvNV(const GLhalfNV *v) 362bf215546Sopenharmony_ci{ 363bf215546Sopenharmony_ci warning(__func__); 364bf215546Sopenharmony_ci} 365bf215546Sopenharmony_ci 366bf215546Sopenharmony_cistatic void APIENTRY 367bf215546Sopenharmony_cinop_glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z) 368bf215546Sopenharmony_ci{ 369bf215546Sopenharmony_ci warning(__func__); 370bf215546Sopenharmony_ci} 371bf215546Sopenharmony_ci 372bf215546Sopenharmony_cistatic void APIENTRY 373bf215546Sopenharmony_cinop_glVertex3hvNV(const GLhalfNV *v) 374bf215546Sopenharmony_ci{ 375bf215546Sopenharmony_ci warning(__func__); 376bf215546Sopenharmony_ci} 377bf215546Sopenharmony_ci 378bf215546Sopenharmony_cistatic void APIENTRY 379bf215546Sopenharmony_cinop_glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) 380bf215546Sopenharmony_ci{ 381bf215546Sopenharmony_ci warning(__func__); 382bf215546Sopenharmony_ci} 383bf215546Sopenharmony_ci 384bf215546Sopenharmony_cistatic void APIENTRY 385bf215546Sopenharmony_cinop_glVertex4hvNV(const GLhalfNV *v) 386bf215546Sopenharmony_ci{ 387bf215546Sopenharmony_ci warning(__func__); 388bf215546Sopenharmony_ci} 389bf215546Sopenharmony_ci 390bf215546Sopenharmony_ci 391bf215546Sopenharmony_ciPROC 392bf215546Sopenharmony_cistw_get_nop_function(const char *name) 393bf215546Sopenharmony_ci{ 394bf215546Sopenharmony_ci struct { 395bf215546Sopenharmony_ci const char *name; 396bf215546Sopenharmony_ci PROC p; 397bf215546Sopenharmony_ci } table[] = { 398bf215546Sopenharmony_ci { "glBindMultiTextureEXT", (PROC) nop_glBindMultiTextureEXT }, 399bf215546Sopenharmony_ci { "glColor3hNV", (PROC) nop_glColor3hNV }, 400bf215546Sopenharmony_ci { "glColor3hvNV", (PROC) nop_glColor3hvNV }, 401bf215546Sopenharmony_ci { "glColor4hNV", (PROC) nop_glColor4hNV }, 402bf215546Sopenharmony_ci { "glColor4hvNV", (PROC) nop_glColor4hvNV }, 403bf215546Sopenharmony_ci { "glDisableClientStateIndexedEXT", (PROC) nop_glDisableClientStateIndexedEXT }, 404bf215546Sopenharmony_ci { "glEnableClientStateIndexedEXT", (PROC) nop_glEnableClientStateIndexedEXT }, 405bf215546Sopenharmony_ci { "glFogCoordhNV", (PROC) nop_glFogCoordhNV }, 406bf215546Sopenharmony_ci { "glFogCoordhvNV", (PROC) nop_glFogCoordhvNV }, 407bf215546Sopenharmony_ci { "glGetNamedBufferParameterivEXT", (PROC) nop_glGetNamedBufferParameterivEXT }, 408bf215546Sopenharmony_ci { "glGetNamedBufferSubDataEXT", (PROC) nop_glGetNamedBufferSubDataEXT }, 409bf215546Sopenharmony_ci { "glMapNamedBufferEXT", (PROC) nop_glMapNamedBufferEXT }, 410bf215546Sopenharmony_ci { "glMatrixLoadfEXT", (PROC) nop_glMatrixLoadfEXT }, 411bf215546Sopenharmony_ci { "glMatrixLoadIdentityEXT", (PROC) nop_glMatrixLoadIdentityEXT }, 412bf215546Sopenharmony_ci { "glMultiTexCoord1hNV", (PROC) nop_glMultiTexCoord1hNV }, 413bf215546Sopenharmony_ci { "glMultiTexCoord1hvNV", (PROC) nop_glMultiTexCoord1hvNV }, 414bf215546Sopenharmony_ci { "glMultiTexCoord2hNV", (PROC) nop_glMultiTexCoord2hNV }, 415bf215546Sopenharmony_ci { "glMultiTexCoord2hvNV", (PROC) nop_glMultiTexCoord2hvNV }, 416bf215546Sopenharmony_ci { "glMultiTexCoord3hNV", (PROC) nop_glMultiTexCoord3hNV }, 417bf215546Sopenharmony_ci { "glMultiTexCoord3hvNV", (PROC) nop_glMultiTexCoord3hvNV }, 418bf215546Sopenharmony_ci { "glMultiTexCoord4hNV", (PROC) nop_glMultiTexCoord4hNV }, 419bf215546Sopenharmony_ci { "glMultiTexCoord4hvNV", (PROC) nop_glMultiTexCoord4hvNV }, 420bf215546Sopenharmony_ci { "glMultiTexCoordPointerEXT", (PROC) nop_glMultiTexCoordPointerEXT }, 421bf215546Sopenharmony_ci { "glMultiTexEnvfEXT", (PROC) nop_glMultiTexEnvfEXT }, 422bf215546Sopenharmony_ci { "glMultiTexEnvfvEXT", (PROC) nop_glMultiTexEnvfvEXT }, 423bf215546Sopenharmony_ci { "glMultiTexEnviEXT", (PROC) nop_glMultiTexEnviEXT }, 424bf215546Sopenharmony_ci { "glMultiTexGenfvEXT", (PROC) nop_glMultiTexGenfvEXT }, 425bf215546Sopenharmony_ci { "glMultiTexGeniEXT", (PROC) nop_glMultiTexGeniEXT }, 426bf215546Sopenharmony_ci { "glNamedBufferDataEXT", (PROC) nop_glNamedBufferDataEXT }, 427bf215546Sopenharmony_ci { "glNamedBufferSubDataEXT", (PROC) nop_glNamedBufferSubDataEXT }, 428bf215546Sopenharmony_ci { "glNamedProgramLocalParameter4fvEXT", (PROC) nop_glNamedProgramLocalParameter4fvEXT }, 429bf215546Sopenharmony_ci { "glNamedProgramLocalParameters4fvEXT", (PROC) nop_glNamedProgramLocalParameters4fvEXT }, 430bf215546Sopenharmony_ci { "glNormal3hNV", (PROC) nop_glNormal3hNV }, 431bf215546Sopenharmony_ci { "glNormal3hvNV", (PROC) nop_glNormal3hvNV }, 432bf215546Sopenharmony_ci { "glPatchParameterfv", (PROC) nop_glPatchParameterfv }, 433bf215546Sopenharmony_ci { "glPatchParameteri", (PROC) nop_glPatchParameteri }, 434bf215546Sopenharmony_ci { "glSecondaryColor3hNV", (PROC) nop_glSecondaryColor3hNV }, 435bf215546Sopenharmony_ci { "glSecondaryColor3hvNV", (PROC) nop_glSecondaryColor3hvNV }, 436bf215546Sopenharmony_ci { "glTexCoord1hNV", (PROC) nop_glTexCoord1hNV }, 437bf215546Sopenharmony_ci { "glTexCoord1hvNV", (PROC) nop_glTexCoord1hvNV }, 438bf215546Sopenharmony_ci { "glTexCoord2hNV", (PROC) nop_glTexCoord2hNV }, 439bf215546Sopenharmony_ci { "glTexCoord2hvNV", (PROC) nop_glTexCoord2hvNV }, 440bf215546Sopenharmony_ci { "glTexCoord3hNV", (PROC) nop_glTexCoord3hNV }, 441bf215546Sopenharmony_ci { "glTexCoord3hvNV", (PROC) nop_glTexCoord3hvNV }, 442bf215546Sopenharmony_ci { "glTexCoord4hNV", (PROC) nop_glTexCoord4hNV }, 443bf215546Sopenharmony_ci { "glTexCoord4hvNV", (PROC) nop_glTexCoord4hvNV }, 444bf215546Sopenharmony_ci { "glTextureParameterfEXT", (PROC) nop_glTextureParameterfEXT }, 445bf215546Sopenharmony_ci { "glTextureParameterfvEXT", (PROC) nop_glTextureParameterfvEXT }, 446bf215546Sopenharmony_ci { "glTextureParameteriEXT", (PROC) nop_glTextureParameteriEXT }, 447bf215546Sopenharmony_ci { "glUnmapNamedBufferEXT", (PROC) nop_glUnmapNamedBufferEXT }, 448bf215546Sopenharmony_ci { "glVertex2hNV", (PROC) nop_glVertex2hNV }, 449bf215546Sopenharmony_ci { "glVertex2hvNV", (PROC) nop_glVertex2hvNV }, 450bf215546Sopenharmony_ci { "glVertex3hNV", (PROC) nop_glVertex3hNV }, 451bf215546Sopenharmony_ci { "glVertex3hvNV", (PROC) nop_glVertex3hvNV }, 452bf215546Sopenharmony_ci { "glVertex4hNV", (PROC) nop_glVertex4hNV }, 453bf215546Sopenharmony_ci { "glVertex4hvNV", (PROC) nop_glVertex4hvNV }, 454bf215546Sopenharmony_ci { NULL, NULL } 455bf215546Sopenharmony_ci }; 456bf215546Sopenharmony_ci 457bf215546Sopenharmony_ci int i; 458bf215546Sopenharmony_ci 459bf215546Sopenharmony_ci for (i = 0; table[i].name; i++) { 460bf215546Sopenharmony_ci if (strcmp(table[i].name, name) == 0) 461bf215546Sopenharmony_ci return table[i].p; 462bf215546Sopenharmony_ci } 463bf215546Sopenharmony_ci return NULL; 464bf215546Sopenharmony_ci} 465