state.c revision 04a81da03bef5020d863e46aa597eddf7aaac016
16dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/** 26dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \file state.c 36dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * State management. 46dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * 56dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * This file manages recalculation of derived values in the __GLcontextRec. 66dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Also, this is where we initialize the API dispatch table. 76dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell */ 86dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell 9d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul/* 10d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * Mesa 3-D graphics library 1127558a160a9fe91745728d7626995cd88f8fe339Brian Paul * Version: 5.1 12d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * 1327558a160a9fe91745728d7626995cd88f8fe339Brian Paul * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. 14d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * 15d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * Permission is hereby granted, free of charge, to any person obtaining a 16d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * copy of this software and associated documentation files (the "Software"), 17d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * to deal in the Software without restriction, including without limitation 18d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense, 19d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * and/or sell copies of the Software, and to permit persons to whom the 20d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * Software is furnished to do so, subject to the following conditions: 21d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * 22d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * The above copyright notice and this permission notice shall be included 23d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * in all copies or substantial portions of the Software. 24d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * 25d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 26d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 28d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 29d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 31d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul */ 32d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 33d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 34d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "glheader.h" 35d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "accum.h" 36ad2ac216fa0cbebc36530bf9e5256e902710b892Keith Whitwell#include "api_loopback.h" 375960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul#if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program 385960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul#include "arbprogram.h" 395960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul#endif 40d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "attrib.h" 41d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "blend.h" 426061df09a45c42745253965df012ddf76910ea33Brian Paul#if FEATURE_ARB_vertex_buffer_object 436061df09a45c42745253965df012ddf76910ea33Brian Paul#include "bufferobj.h" 446061df09a45c42745253965df012ddf76910ea33Brian Paul#endif 45d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "buffers.h" 46d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "clip.h" 47d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "colortab.h" 48d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "context.h" 49cf8eebee075e3f69c3daa4ea88994e07527055e4Brian Paul#include "convolve.h" 50d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "depth.h" 51d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "dlist.h" 52d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "drawpix.h" 53d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "enable.h" 54d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "eval.h" 55d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "get.h" 56d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "feedback.h" 57d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "fog.h" 58d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "hint.h" 598a9507442a9811e2c4a4bac6a993e8a900c50d4dBrian Paul#include "histogram.h" 6027558a160a9fe91745728d7626995cd88f8fe339Brian Paul#include "imports.h" 61d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "light.h" 62d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "lines.h" 63d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "matrix.h" 64b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul#if FEATURE_ARB_occlusion_query 65b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul#include "occlude.h" 66b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul#endif 67d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "pixel.h" 68d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "points.h" 69d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "polygon.h" 70d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "rastpos.h" 71d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "state.h" 72d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "stencil.h" 73d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "teximage.h" 74d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "texobj.h" 75d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "texstate.h" 765e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen#include "mtypes.h" 77d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul#include "varray.h" 7804a81da03bef5020d863e46aa597eddf7aaac016Brian Paul#if FEATURE_NV_vertex_program 79610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul#include "nvprogram.h" 808dfc5b9863f08a713177fd92847573e17febbac9Brian Paul#endif 8136a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul#if FEATURE_NV_fragment_program 8236a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul#include "nvfragprog.h" 8304a81da03bef5020d863e46aa597eddf7aaac016Brian Paul#include "nvprogram.h" 8404a81da03bef5020d863e46aa597eddf7aaac016Brian Paul#include "program.h" 8536a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul#endif 866dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#include "debug.h" 876dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell 886dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/* #include "math/m_matrix.h" */ 896dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/* #include "math/m_xform.h" */ 9023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 91d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 926dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/**********************************************************************/ 936dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/** \name Dispatch table setup */ 946dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/*@{*/ 95d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 966dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/** 976dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Generic no-op dispatch function. 986dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * 996dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Used in replacement of the functions which are not part of Mesa subset. 1006dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * 1016dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Displays a message. 1026dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell */ 103d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paulstatic int 104d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paulgeneric_noop(void) 105d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul{ 1066dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_problem(NULL, "User called no-op dispatch function (not part of Mesa subset?)"); 107d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul return 0; 108d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul} 109d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 110d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 1116dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/** 1125fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul * Set all pointers in the given dispatch table to point to a 1136dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * generic no-op function - generic_noop(). 1146dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * 1156dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \param table dispatch table. 1166dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \param tableSize dispatch table size. 1175fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul */ 118d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paulvoid 1195fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul_mesa_init_no_op_table(struct _glapi_table *table, GLuint tableSize) 120d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul{ 1215fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul GLuint i; 1225fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul void **dispatch = (void **) table; 1235fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul for (i = 0; i < tableSize; i++) { 1245fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul dispatch[i] = (void *) generic_noop; 125d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul } 126d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul} 127d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 128d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 1296dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/** 1306dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Initialize a dispatch table with pointers to Mesa's immediate-mode 1316dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * commands. 1326dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * 1336dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Pointers to glBegin()/glEnd() object commands and a few others 1346dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * are provided via the GLvertexformat interface. 135ad2ac216fa0cbebc36530bf9e5256e902710b892Keith Whitwell * 1366dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \param exec dispatch table. 1376dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \param tableSize dispatch table size. 138d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul */ 139d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paulvoid 1405fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul_mesa_init_exec_table(struct _glapi_table *exec, GLuint tableSize) 141d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul{ 142d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul /* first initialize all dispatch slots to no-op */ 1435fb84d263b8068467a2429942ecf113a0a4c8a60Brian Paul _mesa_init_no_op_table(exec, tableSize); 144d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 1456dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 1468b6a91a93f1b3f79796f398884aaca77a8a09198Keith Whitwell _mesa_loopback_init_api_table( exec, GL_TRUE ); 1476dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 148ad2ac216fa0cbebc36530bf9e5256e902710b892Keith Whitwell 149d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul /* load the dispatch slots we understand */ 150d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->AlphaFunc = _mesa_AlphaFunc; 151d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->BlendFunc = _mesa_BlendFunc; 1526dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Clear = _mesa_Clear; 1536dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->ClearColor = _mesa_ClearColor; 1546dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->ClearStencil = _mesa_ClearStencil; 1556dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->ColorMask = _mesa_ColorMask; 1566dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->CullFace = _mesa_CullFace; 1576dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Disable = _mesa_Disable; 1586dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->DrawBuffer = _mesa_DrawBuffer; 1596dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Enable = _mesa_Enable; 1606dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Finish = _mesa_Finish; 1616dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Flush = _mesa_Flush; 1626dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->FrontFace = _mesa_FrontFace; 1636dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Frustum = _mesa_Frustum; 1646dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetError = _mesa_GetError; 1656dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetFloatv = _mesa_GetFloatv; 1666dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetString = _mesa_GetString; 1676dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->InitNames = _mesa_InitNames; 1686dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->LineStipple = _mesa_LineStipple; 1696dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->LineWidth = _mesa_LineWidth; 1706dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->LoadIdentity = _mesa_LoadIdentity; 1716dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->LoadMatrixf = _mesa_LoadMatrixf; 1726dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->LoadName = _mesa_LoadName; 1736dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->LogicOp = _mesa_LogicOp; 1746dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->MatrixMode = _mesa_MatrixMode; 1756dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->MultMatrixf = _mesa_MultMatrixf; 1766dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Ortho = _mesa_Ortho; 1776dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->PixelStorei = _mesa_PixelStorei; 1786dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->PopMatrix = _mesa_PopMatrix; 1796dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->PopName = _mesa_PopName; 1806dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->PushMatrix = _mesa_PushMatrix; 1816dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->PushName = _mesa_PushName; 1826dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->RasterPos2f = _mesa_RasterPos2f; 1836dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->RasterPos2fv = _mesa_RasterPos2fv; 1846dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->RasterPos2i = _mesa_RasterPos2i; 1856dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->RasterPos2iv = _mesa_RasterPos2iv; 1866dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->ReadBuffer = _mesa_ReadBuffer; 1876dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->RenderMode = _mesa_RenderMode; 1886dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Rotatef = _mesa_Rotatef; 1896dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Scalef = _mesa_Scalef; 1906dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Scissor = _mesa_Scissor; 1916dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->SelectBuffer = _mesa_SelectBuffer; 1926dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->ShadeModel = _mesa_ShadeModel; 1936dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->StencilFunc = _mesa_StencilFunc; 1946dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->StencilMask = _mesa_StencilMask; 1956dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->StencilOp = _mesa_StencilOp; 1966dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->TexEnvfv = _mesa_TexEnvfv; 1976dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->TexEnvi = _mesa_TexEnvi; 1986dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->TexImage2D = _mesa_TexImage2D; 1996dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->TexParameteri = _mesa_TexParameteri; 2006dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Translatef = _mesa_Translatef; 2016dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Viewport = _mesa_Viewport; 2026dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 2036dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Accum = _mesa_Accum; 2046dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->Bitmap = _mesa_Bitmap; 205d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CallList = _mesa_CallList; 206d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CallLists = _mesa_CallLists; 207d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ClearAccum = _mesa_ClearAccum; 208d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ClearDepth = _mesa_ClearDepth; 209d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ClearIndex = _mesa_ClearIndex; 210d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ClipPlane = _mesa_ClipPlane; 211d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ColorMaterial = _mesa_ColorMaterial; 212d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyPixels = _mesa_CopyPixels; 213d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->DeleteLists = _mesa_DeleteLists; 214d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->DepthFunc = _mesa_DepthFunc; 215d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->DepthMask = _mesa_DepthMask; 216d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->DepthRange = _mesa_DepthRange; 217d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->DrawPixels = _mesa_DrawPixels; 218d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->EndList = _mesa_EndList; 219d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->FeedbackBuffer = _mesa_FeedbackBuffer; 220fe5d67d95f3a5fc84c5421d409a6464642aaf2cbKeith Whitwell exec->FogCoordPointerEXT = _mesa_FogCoordPointerEXT; 221d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Fogf = _mesa_Fogf; 222d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Fogfv = _mesa_Fogfv; 223d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Fogi = _mesa_Fogi; 224d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Fogiv = _mesa_Fogiv; 225d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GenLists = _mesa_GenLists; 226d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetClipPlane = _mesa_GetClipPlane; 2276dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetBooleanv = _mesa_GetBooleanv; 228d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetDoublev = _mesa_GetDoublev; 229d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetIntegerv = _mesa_GetIntegerv; 230d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetLightfv = _mesa_GetLightfv; 231d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetLightiv = _mesa_GetLightiv; 232d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMapdv = _mesa_GetMapdv; 233d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMapfv = _mesa_GetMapfv; 234d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMapiv = _mesa_GetMapiv; 235d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMaterialfv = _mesa_GetMaterialfv; 236d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMaterialiv = _mesa_GetMaterialiv; 237d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetPixelMapfv = _mesa_GetPixelMapfv; 238d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetPixelMapuiv = _mesa_GetPixelMapuiv; 239d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetPixelMapusv = _mesa_GetPixelMapusv; 240d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetPolygonStipple = _mesa_GetPolygonStipple; 241d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetTexEnvfv = _mesa_GetTexEnvfv; 242d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetTexEnviv = _mesa_GetTexEnviv; 243d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetTexLevelParameterfv = _mesa_GetTexLevelParameterfv; 244d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetTexLevelParameteriv = _mesa_GetTexLevelParameteriv; 245d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetTexParameterfv = _mesa_GetTexParameterfv; 246d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetTexParameteriv = _mesa_GetTexParameteriv; 2476dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetTexGendv = _mesa_GetTexGendv; 2486dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetTexGenfv = _mesa_GetTexGenfv; 2496dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetTexGeniv = _mesa_GetTexGeniv; 2506dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GetTexImage = _mesa_GetTexImage; 251d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Hint = _mesa_Hint; 252d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->IndexMask = _mesa_IndexMask; 253d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->IsEnabled = _mesa_IsEnabled; 254d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->IsList = _mesa_IsList; 255d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->LightModelf = _mesa_LightModelf; 256d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->LightModelfv = _mesa_LightModelfv; 257d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->LightModeli = _mesa_LightModeli; 258d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->LightModeliv = _mesa_LightModeliv; 259d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Lightf = _mesa_Lightf; 260d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Lightfv = _mesa_Lightfv; 261d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Lighti = _mesa_Lighti; 262d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Lightiv = _mesa_Lightiv; 263d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ListBase = _mesa_ListBase; 264d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->LoadMatrixd = _mesa_LoadMatrixd; 265d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Map1d = _mesa_Map1d; 266d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Map1f = _mesa_Map1f; 267d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Map2d = _mesa_Map2d; 268d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Map2f = _mesa_Map2f; 269d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->MapGrid1d = _mesa_MapGrid1d; 270d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->MapGrid1f = _mesa_MapGrid1f; 271d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->MapGrid2d = _mesa_MapGrid2d; 272d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->MapGrid2f = _mesa_MapGrid2f; 273d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->MultMatrixd = _mesa_MultMatrixd; 274d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->NewList = _mesa_NewList; 275d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PassThrough = _mesa_PassThrough; 276d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelMapfv = _mesa_PixelMapfv; 277d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelMapuiv = _mesa_PixelMapuiv; 278d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelMapusv = _mesa_PixelMapusv; 279d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelStoref = _mesa_PixelStoref; 280d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelTransferf = _mesa_PixelTransferf; 281d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelTransferi = _mesa_PixelTransferi; 282d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PixelZoom = _mesa_PixelZoom; 283d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PointSize = _mesa_PointSize; 284d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PolygonMode = _mesa_PolygonMode; 285d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PolygonOffset = _mesa_PolygonOffset; 286d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PolygonStipple = _mesa_PolygonStipple; 287d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PopAttrib = _mesa_PopAttrib; 288d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PushAttrib = _mesa_PushAttrib; 289d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos2d = _mesa_RasterPos2d; 290d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos2dv = _mesa_RasterPos2dv; 291d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos2s = _mesa_RasterPos2s; 292d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos2sv = _mesa_RasterPos2sv; 293d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3d = _mesa_RasterPos3d; 294d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3dv = _mesa_RasterPos3dv; 295d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3f = _mesa_RasterPos3f; 296d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3fv = _mesa_RasterPos3fv; 297d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3i = _mesa_RasterPos3i; 298d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3iv = _mesa_RasterPos3iv; 299d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3s = _mesa_RasterPos3s; 300d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos3sv = _mesa_RasterPos3sv; 301d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4d = _mesa_RasterPos4d; 302d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4dv = _mesa_RasterPos4dv; 303d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4f = _mesa_RasterPos4f; 304d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4fv = _mesa_RasterPos4fv; 305d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4i = _mesa_RasterPos4i; 306d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4iv = _mesa_RasterPos4iv; 307d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4s = _mesa_RasterPos4s; 308d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->RasterPos4sv = _mesa_RasterPos4sv; 309d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ReadPixels = _mesa_ReadPixels; 310d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Rotated = _mesa_Rotated; 311d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Scaled = _mesa_Scaled; 312fe5d67d95f3a5fc84c5421d409a6464642aaf2cbKeith Whitwell exec->SecondaryColorPointerEXT = _mesa_SecondaryColorPointerEXT; 313d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexEnvf = _mesa_TexEnvf; 314d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexEnviv = _mesa_TexEnviv; 315d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexGend = _mesa_TexGend; 316d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexGendv = _mesa_TexGendv; 317d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexGenf = _mesa_TexGenf; 318d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexGenfv = _mesa_TexGenfv; 319d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexGeni = _mesa_TexGeni; 320d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexGeniv = _mesa_TexGeniv; 321d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexImage1D = _mesa_TexImage1D; 322d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexParameterf = _mesa_TexParameterf; 323d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexParameterfv = _mesa_TexParameterfv; 324d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexParameteriv = _mesa_TexParameteriv; 325d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Translated = _mesa_Translated; 3266dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 327d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 328d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul /* 1.1 */ 3296dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->BindTexture = _mesa_BindTexture; 3306dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->DeleteTextures = _mesa_DeleteTextures; 3316dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell exec->GenTextures = _mesa_GenTextures; 3326dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 333d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->AreTexturesResident = _mesa_AreTexturesResident; 334f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->AreTexturesResidentEXT = _mesa_AreTexturesResident; 335d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ColorPointer = _mesa_ColorPointer; 336d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyTexImage1D = _mesa_CopyTexImage1D; 337d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyTexImage2D = _mesa_CopyTexImage2D; 338d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyTexSubImage1D = _mesa_CopyTexSubImage1D; 339d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyTexSubImage2D = _mesa_CopyTexSubImage2D; 340d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->DisableClientState = _mesa_DisableClientState; 341d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->EdgeFlagPointer = _mesa_EdgeFlagPointer; 342d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->EnableClientState = _mesa_EnableClientState; 343f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GenTexturesEXT = _mesa_GenTextures; 344d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetPointerv = _mesa_GetPointerv; 345d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->IndexPointer = _mesa_IndexPointer; 346d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->InterleavedArrays = _mesa_InterleavedArrays; 347d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->IsTexture = _mesa_IsTexture; 348f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->IsTextureEXT = _mesa_IsTexture; 349d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->NormalPointer = _mesa_NormalPointer; 350d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PopClientAttrib = _mesa_PopClientAttrib; 351d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PrioritizeTextures = _mesa_PrioritizeTextures; 352d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->PushClientAttrib = _mesa_PushClientAttrib; 353d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexCoordPointer = _mesa_TexCoordPointer; 354d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexSubImage1D = _mesa_TexSubImage1D; 355d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexSubImage2D = _mesa_TexSubImage2D; 356d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->VertexPointer = _mesa_VertexPointer; 3576dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 358d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 359d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul /* 1.2 */ 3606dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 361d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyTexSubImage3D = _mesa_CopyTexSubImage3D; 362d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexImage3D = _mesa_TexImage3D; 363d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->TexSubImage3D = _mesa_TexSubImage3D; 3646dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 365d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 366d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul /* OpenGL 1.2 GL_ARB_imaging */ 3676dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 368d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->BlendColor = _mesa_BlendColor; 369d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->BlendEquation = _mesa_BlendEquation; 370d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ColorSubTable = _mesa_ColorSubTable; 371d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ColorTable = _mesa_ColorTable; 372d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ColorTableParameterfv = _mesa_ColorTableParameterfv; 373d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ColorTableParameteriv = _mesa_ColorTableParameteriv; 374d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ConvolutionFilter1D = _mesa_ConvolutionFilter1D; 375d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ConvolutionFilter2D = _mesa_ConvolutionFilter2D; 376d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ConvolutionParameterf = _mesa_ConvolutionParameterf; 377d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ConvolutionParameterfv = _mesa_ConvolutionParameterfv; 378d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ConvolutionParameteri = _mesa_ConvolutionParameteri; 379d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ConvolutionParameteriv = _mesa_ConvolutionParameteriv; 380d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyColorSubTable = _mesa_CopyColorSubTable; 381d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyColorTable = _mesa_CopyColorTable; 382d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyConvolutionFilter1D = _mesa_CopyConvolutionFilter1D; 383d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->CopyConvolutionFilter2D = _mesa_CopyConvolutionFilter2D; 384d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetColorTable = _mesa_GetColorTable; 385f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetColorTableEXT = _mesa_GetColorTable; 386d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetColorTableParameterfv = _mesa_GetColorTableParameterfv; 387f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetColorTableParameterfvEXT = _mesa_GetColorTableParameterfv; 388d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetColorTableParameteriv = _mesa_GetColorTableParameteriv; 389f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetColorTableParameterivEXT = _mesa_GetColorTableParameteriv; 390d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetConvolutionFilter = _mesa_GetConvolutionFilter; 391f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetConvolutionFilterEXT = _mesa_GetConvolutionFilter; 392d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetConvolutionParameterfv = _mesa_GetConvolutionParameterfv; 393f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetConvolutionParameterfvEXT = _mesa_GetConvolutionParameterfv; 394d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetConvolutionParameteriv = _mesa_GetConvolutionParameteriv; 395f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetConvolutionParameterivEXT = _mesa_GetConvolutionParameteriv; 396d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetHistogram = _mesa_GetHistogram; 397f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetHistogramEXT = _mesa_GetHistogram; 398d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetHistogramParameterfv = _mesa_GetHistogramParameterfv; 399f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetHistogramParameterfvEXT = _mesa_GetHistogramParameterfv; 400d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetHistogramParameteriv = _mesa_GetHistogramParameteriv; 401f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetHistogramParameterivEXT = _mesa_GetHistogramParameteriv; 402d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMinmax = _mesa_GetMinmax; 403f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetMinmaxEXT = _mesa_GetMinmax; 404d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMinmaxParameterfv = _mesa_GetMinmaxParameterfv; 405f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetMinmaxParameterfvEXT = _mesa_GetMinmaxParameterfv; 406d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetMinmaxParameteriv = _mesa_GetMinmaxParameteriv; 407f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetMinmaxParameterivEXT = _mesa_GetMinmaxParameteriv; 408d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->GetSeparableFilter = _mesa_GetSeparableFilter; 409f48216ad0f75dc2eecc34ab6978986f564c90334Brian Paul exec->GetSeparableFilterEXT = _mesa_GetSeparableFilter; 410d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Histogram = _mesa_Histogram; 411d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->Minmax = _mesa_Minmax; 412d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ResetHistogram = _mesa_ResetHistogram; 413d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->ResetMinmax = _mesa_ResetMinmax; 414d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul exec->SeparableFilter2D = _mesa_SeparableFilter2D; 4156dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 416d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 4171a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 2. GL_EXT_blend_color */ 4181a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul#if 0 4196dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/* exec->BlendColorEXT = _mesa_BlendColorEXT; */ 4201a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul#endif 4211a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul 4221a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 3. GL_EXT_polygon_offset */ 4236dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4241a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->PolygonOffsetEXT = _mesa_PolygonOffsetEXT; 4256dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 4261a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul 4271a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 6. GL_EXT_texture3d */ 428ead285a9266bb5f80e68de122490a6afb88df6f3Brian Paul#if 0 4296dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/* exec->CopyTexSubImage3DEXT = _mesa_CopyTexSubImage3D; */ 4306dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/* exec->TexImage3DEXT = _mesa_TexImage3DEXT; */ 4316dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/* exec->TexSubImage3DEXT = _mesa_TexSubImage3D; */ 432ead285a9266bb5f80e68de122490a6afb88df6f3Brian Paul#endif 433d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 4341a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 11. GL_EXT_histogram */ 4356dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4361a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetHistogramEXT = _mesa_GetHistogram; 4371a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetHistogramParameterfvEXT = _mesa_GetHistogramParameterfv; 4381a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetHistogramParameterivEXT = _mesa_GetHistogramParameteriv; 4391a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetMinmaxEXT = _mesa_GetMinmax; 4401a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetMinmaxParameterfvEXT = _mesa_GetMinmaxParameterfv; 4411a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetMinmaxParameterivEXT = _mesa_GetMinmaxParameteriv; 4426dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 443d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 4441a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* ?. GL_SGIX_pixel_texture */ 4456dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4462b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->PixelTexGenSGIX = _mesa_PixelTexGenSGIX; 4476dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 4482b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul 4491a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 15. GL_SGIS_pixel_texture */ 4506dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4512b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->PixelTexGenParameteriSGIS = _mesa_PixelTexGenParameteriSGIS; 4522b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->PixelTexGenParameterivSGIS = _mesa_PixelTexGenParameterivSGIS; 4532b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->PixelTexGenParameterfSGIS = _mesa_PixelTexGenParameterfSGIS; 4542b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->PixelTexGenParameterfvSGIS = _mesa_PixelTexGenParameterfvSGIS; 4552b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->GetPixelTexGenParameterivSGIS = _mesa_GetPixelTexGenParameterivSGIS; 4562b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul exec->GetPixelTexGenParameterfvSGIS = _mesa_GetPixelTexGenParameterfvSGIS; 4576dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 4582b2e925ea4a5652b0ab73b1efbce345a42663842Brian Paul 4591f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul /* 30. GL_EXT_vertex_array */ 4606dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4611f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul exec->ColorPointerEXT = _mesa_ColorPointerEXT; 4621f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul exec->EdgeFlagPointerEXT = _mesa_EdgeFlagPointerEXT; 4631f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul exec->IndexPointerEXT = _mesa_IndexPointerEXT; 4641f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul exec->NormalPointerEXT = _mesa_NormalPointerEXT; 4651f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul exec->TexCoordPointerEXT = _mesa_TexCoordPointerEXT; 4661f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul exec->VertexPointerEXT = _mesa_VertexPointerEXT; 4676dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 4681f0e213bf88500e9c2f7ca92e57392efae5e4459Brian Paul 4691a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 37. GL_EXT_blend_minmax */ 4701a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul#if 0 4711a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->BlendEquationEXT = _mesa_BlendEquationEXT; 4721a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul#endif 473d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 4741a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 54. GL_EXT_point_parameters */ 4756dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 476471a774f433c23b263828aa591415741e78a35daBrian Paul exec->PointParameterfEXT = _mesa_PointParameterfEXT; 477471a774f433c23b263828aa591415741e78a35daBrian Paul exec->PointParameterfvEXT = _mesa_PointParameterfvEXT; 4786dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 479d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 4801a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 78. GL_EXT_paletted_texture */ 481ead285a9266bb5f80e68de122490a6afb88df6f3Brian Paul#if 0 4821a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->ColorTableEXT = _mesa_ColorTableEXT; 4831a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->ColorSubTableEXT = _mesa_ColorSubTableEXT; 484ead285a9266bb5f80e68de122490a6afb88df6f3Brian Paul#endif 4856dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4861a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetColorTableEXT = _mesa_GetColorTable; 4871a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetColorTableParameterfvEXT = _mesa_GetColorTableParameterfv; 4881a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->GetColorTableParameterivEXT = _mesa_GetColorTableParameteriv; 4896dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 490d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 4911a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 97. GL_EXT_compiled_vertex_array */ 4926dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4931a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->LockArraysEXT = _mesa_LockArraysEXT; 4941a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->UnlockArraysEXT = _mesa_UnlockArraysEXT; 4956dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 4961a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul 4972525bc7d305f6dcab3beb75535da25a488c969b0Brian Paul /* 148. GL_EXT_multi_draw_arrays */ 4986dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 4992525bc7d305f6dcab3beb75535da25a488c969b0Brian Paul exec->MultiDrawArraysEXT = _mesa_MultiDrawArraysEXT; 5002525bc7d305f6dcab3beb75535da25a488c969b0Brian Paul exec->MultiDrawElementsEXT = _mesa_MultiDrawElementsEXT; 5016dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 5022525bc7d305f6dcab3beb75535da25a488c969b0Brian Paul 5031a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 173. GL_INGR_blend_func_separate */ 5046dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 5051a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->BlendFuncSeparateEXT = _mesa_BlendFuncSeparateEXT; 5066dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 5071a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul 5081a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 196. GL_MESA_resize_buffers */ 5096dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 5101a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->ResizeBuffersMESA = _mesa_ResizeBuffersMESA; 5116dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 5121a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul 5131a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* 197. GL_MESA_window_pos */ 5146dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 5151a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2dMESA = _mesa_WindowPos2dMESA; 5161a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2dvMESA = _mesa_WindowPos2dvMESA; 5171a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2fMESA = _mesa_WindowPos2fMESA; 5181a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2fvMESA = _mesa_WindowPos2fvMESA; 5191a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2iMESA = _mesa_WindowPos2iMESA; 5201a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2ivMESA = _mesa_WindowPos2ivMESA; 5211a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2sMESA = _mesa_WindowPos2sMESA; 5221a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos2svMESA = _mesa_WindowPos2svMESA; 5231a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3dMESA = _mesa_WindowPos3dMESA; 5241a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3dvMESA = _mesa_WindowPos3dvMESA; 5251a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3fMESA = _mesa_WindowPos3fMESA; 5261a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3fvMESA = _mesa_WindowPos3fvMESA; 5271a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3iMESA = _mesa_WindowPos3iMESA; 5281a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3ivMESA = _mesa_WindowPos3ivMESA; 5291a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3sMESA = _mesa_WindowPos3sMESA; 5301a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos3svMESA = _mesa_WindowPos3svMESA; 5311a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4dMESA = _mesa_WindowPos4dMESA; 5321a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4dvMESA = _mesa_WindowPos4dvMESA; 5331a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4fMESA = _mesa_WindowPos4fMESA; 5341a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4fvMESA = _mesa_WindowPos4fvMESA; 5351a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4iMESA = _mesa_WindowPos4iMESA; 5361a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4ivMESA = _mesa_WindowPos4ivMESA; 5371a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4sMESA = _mesa_WindowPos4sMESA; 5381a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul exec->WindowPos4svMESA = _mesa_WindowPos4svMESA; 5396dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 540d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 5413baefe663bb15b4fd60921155de38c12ec2758c4Ian Romanick /* 200. GL_IBM_multimode_draw_arrays */ 5423baefe663bb15b4fd60921155de38c12ec2758c4Ian Romanick#if _HAVE_FULL_GL 5433baefe663bb15b4fd60921155de38c12ec2758c4Ian Romanick exec->MultiModeDrawArraysIBM = _mesa_MultiModeDrawArraysIBM; 5443baefe663bb15b4fd60921155de38c12ec2758c4Ian Romanick exec->MultiModeDrawElementsIBM = _mesa_MultiModeDrawElementsIBM; 5453baefe663bb15b4fd60921155de38c12ec2758c4Ian Romanick#endif 5463baefe663bb15b4fd60921155de38c12ec2758c4Ian Romanick 547b638c34381004aa2a778227bad51d259d05a9b53Brian Paul /* 233. GL_NV_vertex_program */ 5488dfc5b9863f08a713177fd92847573e17febbac9Brian Paul#if FEATURE_NV_vertex_program 54904a81da03bef5020d863e46aa597eddf7aaac016Brian Paul exec->BindProgramNV = _mesa_BindProgram; 55004a81da03bef5020d863e46aa597eddf7aaac016Brian Paul exec->DeleteProgramsNV = _mesa_DeletePrograms; 55186b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ExecuteProgramNV = _mesa_ExecuteProgramNV; 55204a81da03bef5020d863e46aa597eddf7aaac016Brian Paul exec->GenProgramsNV = _mesa_GenPrograms; 55386b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->AreProgramsResidentNV = _mesa_AreProgramsResidentNV; 55486b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->RequestResidentProgramsNV = _mesa_RequestResidentProgramsNV; 55586b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetProgramParameterfvNV = _mesa_GetProgramParameterfvNV; 55686b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetProgramParameterdvNV = _mesa_GetProgramParameterdvNV; 55786b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetProgramivNV = _mesa_GetProgramivNV; 55886b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetProgramStringNV = _mesa_GetProgramStringNV; 55986b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetTrackMatrixivNV = _mesa_GetTrackMatrixivNV; 56086b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetVertexAttribdvNV = _mesa_GetVertexAttribdvNV; 56186b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetVertexAttribfvNV = _mesa_GetVertexAttribfvNV; 56286b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetVertexAttribivNV = _mesa_GetVertexAttribivNV; 56386b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->GetVertexAttribPointervNV = _mesa_GetVertexAttribPointervNV; 56404a81da03bef5020d863e46aa597eddf7aaac016Brian Paul exec->IsProgramNV = _mesa_IsProgram; 56586b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->LoadProgramNV = _mesa_LoadProgramNV; 56686b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ProgramParameter4dNV = _mesa_ProgramParameter4dNV; 56786b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ProgramParameter4dvNV = _mesa_ProgramParameter4dvNV; 56886b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ProgramParameter4fNV = _mesa_ProgramParameter4fNV; 56986b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ProgramParameter4fvNV = _mesa_ProgramParameter4fvNV; 57086b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ProgramParameters4dvNV = _mesa_ProgramParameters4dvNV; 57186b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->ProgramParameters4fvNV = _mesa_ProgramParameters4fvNV; 57286b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->TrackMatrixNV = _mesa_TrackMatrixNV; 57386b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul exec->VertexAttribPointerNV = _mesa_VertexAttribPointerNV; 574e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib*NV functions handled in api_loopback.c */ 5758dfc5b9863f08a713177fd92847573e17febbac9Brian Paul#endif 57686b842790b720cd6b1499ce8edca8a4e9c8dc029Brian Paul 5775960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul /* 282. GL_NV_fragment_program */ 57852334967edb3bf79c3eecbd599dcef667ba63239Brian Paul#if FEATURE_NV_fragment_program 579610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramNamedParameter4fNV = _mesa_ProgramNamedParameter4fNV; 580610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramNamedParameter4dNV = _mesa_ProgramNamedParameter4dNV; 581610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramNamedParameter4fvNV = _mesa_ProgramNamedParameter4fvNV; 582610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramNamedParameter4dvNV = _mesa_ProgramNamedParameter4dvNV; 583610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->GetProgramNamedParameterfvNV = _mesa_GetProgramNamedParameterfvNV; 584610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->GetProgramNamedParameterdvNV = _mesa_GetProgramNamedParameterdvNV; 585610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramLocalParameter4dARB = _mesa_ProgramLocalParameter4dARB; 586610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramLocalParameter4dvARB = _mesa_ProgramLocalParameter4dvARB; 587610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramLocalParameter4fARB = _mesa_ProgramLocalParameter4fARB; 588610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->ProgramLocalParameter4fvARB = _mesa_ProgramLocalParameter4fvARB; 589610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->GetProgramLocalParameterdvARB = _mesa_GetProgramLocalParameterdvARB; 590610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul exec->GetProgramLocalParameterfvARB = _mesa_GetProgramLocalParameterfvARB; 591610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul#endif 592610d59981a9f43fefe29b34ef19c184d28e2bef5Brian Paul 59323d8ef3937b3b66684f7feb62446abca8e91d307Brian Paul /* 262. GL_NV_point_sprite */ 5946dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 59523d8ef3937b3b66684f7feb62446abca8e91d307Brian Paul exec->PointParameteriNV = _mesa_PointParameteriNV; 59623d8ef3937b3b66684f7feb62446abca8e91d307Brian Paul exec->PointParameterivNV = _mesa_PointParameterivNV; 5976dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 59823d8ef3937b3b66684f7feb62446abca8e91d307Brian Paul 5995f60a0b50ada1865d4fc6a724366e8ea0cc9a72fBrian Paul /* 268. GL_EXT_stencil_two_side */ 6006dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 6015f60a0b50ada1865d4fc6a724366e8ea0cc9a72fBrian Paul exec->ActiveStencilFaceEXT = _mesa_ActiveStencilFaceEXT; 6026dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 6035f60a0b50ada1865d4fc6a724366e8ea0cc9a72fBrian Paul 604b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* ???. GL_EXT_depth_bounds_test */ 605b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul exec->DepthBoundsEXT = _mesa_DepthBoundsEXT; 606b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul 6071a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* ARB 1. GL_ARB_multitexture */ 6086dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 609471a774f433c23b263828aa591415741e78a35daBrian Paul exec->ActiveTextureARB = _mesa_ActiveTextureARB; 610471a774f433c23b263828aa591415741e78a35daBrian Paul exec->ClientActiveTextureARB = _mesa_ClientActiveTextureARB; 6116dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 612d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 6131a1cf7ed75d799bbda34399ddab7949b8c06686eBrian Paul /* ARB 3. GL_ARB_transpose_matrix */ 6146dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 615471a774f433c23b263828aa591415741e78a35daBrian Paul exec->LoadTransposeMatrixdARB = _mesa_LoadTransposeMatrixdARB; 616471a774f433c23b263828aa591415741e78a35daBrian Paul exec->LoadTransposeMatrixfARB = _mesa_LoadTransposeMatrixfARB; 617471a774f433c23b263828aa591415741e78a35daBrian Paul exec->MultTransposeMatrixdARB = _mesa_MultTransposeMatrixdARB; 618471a774f433c23b263828aa591415741e78a35daBrian Paul exec->MultTransposeMatrixfARB = _mesa_MultTransposeMatrixfARB; 6196dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 6201207bf057aeea3376e5e0f03f789a5d67ed4d29dBrian Paul 621736fcbec4732830e7976fb5eb309b13e03be132cBrian Paul /* ARB 5. GL_ARB_multisample */ 6226dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 623471a774f433c23b263828aa591415741e78a35daBrian Paul exec->SampleCoverageARB = _mesa_SampleCoverageARB; 6246dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 625736fcbec4732830e7976fb5eb309b13e03be132cBrian Paul 6261207bf057aeea3376e5e0f03f789a5d67ed4d29dBrian Paul /* ARB 12. GL_ARB_texture_compression */ 6276dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#if _HAVE_FULL_GL 628471a774f433c23b263828aa591415741e78a35daBrian Paul exec->CompressedTexImage3DARB = _mesa_CompressedTexImage3DARB; 629471a774f433c23b263828aa591415741e78a35daBrian Paul exec->CompressedTexImage2DARB = _mesa_CompressedTexImage2DARB; 630471a774f433c23b263828aa591415741e78a35daBrian Paul exec->CompressedTexImage1DARB = _mesa_CompressedTexImage1DARB; 631471a774f433c23b263828aa591415741e78a35daBrian Paul exec->CompressedTexSubImage3DARB = _mesa_CompressedTexSubImage3DARB; 632471a774f433c23b263828aa591415741e78a35daBrian Paul exec->CompressedTexSubImage2DARB = _mesa_CompressedTexSubImage2DARB; 633471a774f433c23b263828aa591415741e78a35daBrian Paul exec->CompressedTexSubImage1DARB = _mesa_CompressedTexSubImage1DARB; 634471a774f433c23b263828aa591415741e78a35daBrian Paul exec->GetCompressedTexImageARB = _mesa_GetCompressedTexImageARB; 6356dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell#endif 6361207bf057aeea3376e5e0f03f789a5d67ed4d29dBrian Paul 6371537b63fce36f87b3606d0e7cdca2d10bbdffd56Brian Paul /* ARB 14. GL_ARB_point_parameters */ 6381537b63fce36f87b3606d0e7cdca2d10bbdffd56Brian Paul /* reuse EXT_point_parameters functions */ 6396061df09a45c42745253965df012ddf76910ea33Brian Paul 6405960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul /* ARB 26. GL_ARB_vertex_program */ 6415960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul /* ARB 27. GL_ARB_fragment_program */ 6425960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul#if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program 643b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib1sARB aliases glVertexAttrib1sNV */ 644b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib1fARB aliases glVertexAttrib1fNV */ 645b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib1dARB aliases glVertexAttrib1dNV */ 646b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib2sARB aliases glVertexAttrib2sNV */ 647b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib2fARB aliases glVertexAttrib2fNV */ 648b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib2dARB aliases glVertexAttrib2dNV */ 649b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib3sARB aliases glVertexAttrib3sNV */ 650b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib3fARB aliases glVertexAttrib3fNV */ 651b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib3dARB aliases glVertexAttrib3dNV */ 652b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4sARB aliases glVertexAttrib4sNV */ 653b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4fARB aliases glVertexAttrib4fNV */ 654b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4dARB aliases glVertexAttrib4dNV */ 655b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4NubARB aliases glVertexAttrib4NubNV */ 656b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib1svARB aliases glVertexAttrib1svNV */ 657b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib1fvARB aliases glVertexAttrib1fvNV */ 658b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib1dvARB aliases glVertexAttrib1dvNV */ 659b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib2svARB aliases glVertexAttrib2svNV */ 660b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib2fvARB aliases glVertexAttrib2fvNV */ 661b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib2dvARB aliases glVertexAttrib2dvNV */ 662b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib3svARB aliases glVertexAttrib3svNV */ 663b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib3fvARB aliases glVertexAttrib3fvNV */ 664b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib3dvARB aliases glVertexAttrib3dvNV */ 665b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4svARB aliases glVertexAttrib4svNV */ 666b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4fvARB aliases glVertexAttrib4fvNV */ 667b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4dvARB aliases glVertexAttrib4dvNV */ 668b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glVertexAttrib4NubvARB aliases glVertexAttrib4NubvNV */ 669e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4bvARB handled in api_loopback.c */ 670e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4ivARB handled in api_loopback.c */ 671e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4ubvARB handled in api_loopback.c */ 672e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4usvARB handled in api_loopback.c */ 673e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4uivARB handled in api_loopback.c */ 674e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4NbvARB handled in api_loopback.c */ 675e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4NsvARB handled in api_loopback.c */ 676e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4NivARB handled in api_loopback.c */ 677e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4NusvARB handled in api_loopback.c */ 678e8e93e9cc641e31c9c0e6a2bb1ac3e44d0bdec5aBrian Paul /* glVertexAttrib4NuivARB handled in api_loopback.c */ 6795960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->VertexAttribPointerARB = _mesa_VertexAttribPointerARB; 6805960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->EnableVertexAttribArrayARB = _mesa_EnableVertexAttribArrayARB; 6815960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->DisableVertexAttribArrayARB = _mesa_DisableVertexAttribArrayARB; 6825960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramStringARB = _mesa_ProgramStringARB; 683b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glBindProgramARB aliases glBindProgramNV */ 684b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glDeleteProgramsARB aliases glDeleteProgramsNV */ 685b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glGenProgramsARB aliases glGenProgramsNV */ 686b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glIsProgramARB aliases glIsProgramNV */ 687b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glGetVertexAttribdvARB aliases glGetVertexAttribdvNV */ 688b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glGetVertexAttribfvARB aliases glGetVertexAttribfvNV */ 689b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glGetVertexAttribivARB aliases glGetVertexAttribivNV */ 690b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul /* glGetVertexAttribPointervARB aliases glGetVertexAttribPointervNV */ 6915960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramEnvParameter4dARB = _mesa_ProgramEnvParameter4dARB; 6925960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramEnvParameter4dvARB = _mesa_ProgramEnvParameter4dvARB; 6935960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramEnvParameter4fARB = _mesa_ProgramEnvParameter4fARB; 6945960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramEnvParameter4fvARB = _mesa_ProgramEnvParameter4fvARB; 6955960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramLocalParameter4dARB = _mesa_ProgramLocalParameter4dARB; 6965960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramLocalParameter4dvARB = _mesa_ProgramLocalParameter4dvARB; 6975960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramLocalParameter4fARB = _mesa_ProgramLocalParameter4fARB; 6985960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->ProgramLocalParameter4fvARB = _mesa_ProgramLocalParameter4fvARB; 6995960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->GetProgramEnvParameterdvARB = _mesa_GetProgramEnvParameterdvARB; 7005960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->GetProgramEnvParameterfvARB = _mesa_GetProgramEnvParameterfvARB; 7015960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->GetProgramLocalParameterdvARB = _mesa_GetProgramLocalParameterdvARB; 7025960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->GetProgramLocalParameterfvARB = _mesa_GetProgramLocalParameterfvARB; 7035960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->GetProgramivARB = _mesa_GetProgramivARB; 7045960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul exec->GetProgramStringARB = _mesa_GetProgramStringARB; 7055960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul#endif 7065960105ca35d5f51ef3881d201faf2cda99ead0cBrian Paul 7076061df09a45c42745253965df012ddf76910ea33Brian Paul /* ARB 28. GL_ARB_vertex_buffer_object */ 7086061df09a45c42745253965df012ddf76910ea33Brian Paul#if FEATURE_ARB_vertex_buffer_object 7096061df09a45c42745253965df012ddf76910ea33Brian Paul exec->BindBufferARB = _mesa_BindBufferARB; 7106061df09a45c42745253965df012ddf76910ea33Brian Paul exec->BufferDataARB = _mesa_BufferDataARB; 7116061df09a45c42745253965df012ddf76910ea33Brian Paul exec->BufferSubDataARB = _mesa_BufferSubDataARB; 712b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul exec->DeleteBuffersARB = _mesa_DeleteBuffersARB; 713b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul exec->GenBuffersARB = _mesa_GenBuffersARB; 714b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul exec->GetBufferParameterivARB = _mesa_GetBufferParameterivARB; 715b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul exec->GetBufferPointervARB = _mesa_GetBufferPointervARB; 7166061df09a45c42745253965df012ddf76910ea33Brian Paul exec->GetBufferSubDataARB = _mesa_GetBufferSubDataARB; 717b0b9b798ac0620aeba15143f84c1d1ef2ddd44dbBrian Paul exec->IsBufferARB = _mesa_IsBufferARB; 7186061df09a45c42745253965df012ddf76910ea33Brian Paul exec->MapBufferARB = _mesa_MapBufferARB; 7196061df09a45c42745253965df012ddf76910ea33Brian Paul exec->UnmapBufferARB = _mesa_UnmapBufferARB; 7206061df09a45c42745253965df012ddf76910ea33Brian Paul#endif 721b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul 722b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul#if FEATURE_ARB_occlusion_query 723b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->GenQueriesARB = _mesa_GenQueriesARB; 724b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->DeleteQueriesARB = _mesa_DeleteQueriesARB; 725b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->IsQueryARB = _mesa_IsQueryARB; 726b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->BeginQueryARB = _mesa_BeginQueryARB; 727b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->EndQueryARB = _mesa_EndQueryARB; 728b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->GetQueryivARB = _mesa_GetQueryivARB; 729b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->GetQueryObjectivARB = _mesa_GetQueryObjectivARB; 730b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul exec->GetQueryObjectuivARB = _mesa_GetQueryObjectuivARB; 731b17a722ca3989e8563ee04cb2939f4835f8a171eBrian Paul#endif 732d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul} 733d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 7346dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/*@}*/ 735d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 7361207bf057aeea3376e5e0f03f789a5d67ed4d29dBrian Paul 737d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul/**********************************************************************/ 7386dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/** \name State update logic */ 7396dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/*@{*/ 740a852378a6289d154364dde440f89a39bbfc33e2dBrian Paul 7411e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell 74236a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul/* 74336a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul * Update items which depend on vertex/fragment programs. 74436a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul */ 74536a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paulstatic void 74636a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paulupdate_program( GLcontext *ctx ) 74736a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul{ 74836a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul if (ctx->FragmentProgram.Enabled && ctx->FragmentProgram.Current) { 74936a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul if (ctx->FragmentProgram.Current->InputsRead & (1 << FRAG_ATTRIB_COL1)) 75036a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR; 75136a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul } 75236a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul} 75336a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul 7540cb28418d06c30e431bdff515c1d36a812d5950dKeith Whitwell 7551e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell/* 7566dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * If __GLcontextRec::NewState is non-zero then this function \b must be called 7576dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * before rendering any primitive. Basically, function pointers and 7586dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * miscellaneous flags are updated to reflect the current state of the state 7596dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * machine. 760cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell * 7616dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Calls dd_function_table::UpdateState to perform any internal state management 7626dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * necessary. 7636dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * 7646dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \sa _mesa_update_modelview_project(), _mesa_update_texture(), 7656dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * _mesa_update_buffers(), _mesa_update_polygon(), _mesa_update_lighting() and 7666dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * _mesa_update_tnl_spaces(). 7671e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell */ 76808836341788a9f9d638d9dc8328510ccd18ddeb5Brian Paulvoid _mesa_update_state( GLcontext *ctx ) 7691e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell{ 770479fa1db1dc7cb8e48219ac28edfb2f2a9c971b2Brian Paul const GLuint new_state = ctx->NewState; 7711e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell 7721e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell if (MESA_VERBOSE & VERBOSE_STATE) 773306d3fcdbad523428501833405e47e9897896defKeith Whitwell _mesa_print_state("_mesa_update_state", new_state); 7741e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell 7756dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell if (new_state & (_NEW_MODELVIEW|_NEW_PROJECTION)) 7766dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_update_modelview_project( ctx, new_state ); 7771e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell 7786dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell if (new_state & (_NEW_TEXTURE|_NEW_TEXTURE_MATRIX)) 7796dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_update_texture( ctx, new_state ); 780d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 7816dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell if (new_state & (_NEW_SCISSOR|_NEW_BUFFERS)) 7826dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_update_buffers( ctx ); 783d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 7845e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen if (new_state & _NEW_POLYGON) 7856dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_update_polygon( ctx ); 786d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 7875e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen if (new_state & _NEW_LIGHT) 78808836341788a9f9d638d9dc8328510ccd18ddeb5Brian Paul _mesa_update_lighting( ctx ); 789d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 7909c7b81697b2a381d7083e8e4c52f919f36ea9fa1Brian Paul if (new_state & _IMAGE_NEW_TRANSFER_STATE) 7919c7b81697b2a381d7083e8e4c52f919f36ea9fa1Brian Paul _mesa_update_pixel( ctx, new_state ); 792d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul 79336a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul if (new_state & _NEW_PROGRAM) 79436a0a3252e1e20df69b53f70ba93bc74c4a4bf0eBrian Paul update_program( ctx ); 7950cb28418d06c30e431bdff515c1d36a812d5950dKeith Whitwell 7969c7b81697b2a381d7083e8e4c52f919f36ea9fa1Brian Paul /* ctx->_NeedEyeCoords is now up to date. 7971e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell * 798cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell * If the truth value of this variable has changed, update for the 799cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell * new lighting space and recompute the positions of lights and the 8001e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell * normal transform. 8015e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 8021e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell * If the lighting space hasn't changed, may still need to recompute 80322144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * light positions & normal transforms for other reasons. 8041e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell */ 8056dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell if (new_state & _MESA_NEW_NEED_EYE_COORDS) 8066dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_update_tnl_spaces( ctx, new_state ); 8071e1aac034c986a08248861363c0baa27dc2ae2d5Keith Whitwell 80823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell /* 80923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * Here the driver sets up all the ctx->Driver function pointers 81023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * to it's specific, private functions, and performs any 81123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * internal state management necessary, including invalidating 81223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * state of active modules. 813cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell * 814cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell * Set ctx->NewState to zero to avoid recursion if 815cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell * Driver.UpdateState() has to call FLUSH_VERTICES(). (fixed?) 81623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell */ 817d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul ctx->NewState = 0; 818cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290Keith Whitwell ctx->Driver.UpdateState(ctx, new_state); 8192448fc7deeaa870d879de17158f243f239c05b15Keith Whitwell ctx->Array.NewState = 0; 820479fa1db1dc7cb8e48219ac28edfb2f2a9c971b2Brian Paul 8212448fc7deeaa870d879de17158f243f239c05b15Keith Whitwell /* At this point we can do some assertions to be sure the required 82222144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * device driver function pointers are all initialized. 823479fa1db1dc7cb8e48219ac28edfb2f2a9c971b2Brian Paul */ 8246dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell _mesa_check_driver_hooks( ctx ); 825d0a3ea051a3825441cdc97a82fa9a9c6e7e83087Brian Paul} 8260cb28418d06c30e431bdff515c1d36a812d5950dKeith Whitwell 8276dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/*@}*/ 828