slow functions implemented in nasm now, too

svn path=/trunk/; revision=8055
This commit is contained in:
Royce Mitchell III 2004-02-06 19:18:39 +00:00
parent b1893869b3
commit b58dac7496
3 changed files with 183 additions and 10 deletions

View file

@ -82,11 +82,4 @@ GLFUNCS_MACRO
#undef X
#endif//non-x86 architectures
/* FIXME - change this code to lookup slow table and jump - probably needs to go in nasm */
#define X(func,ret,typeargs,args,icdidx,stack) EXPORT ret STDCALL func typeargs { return 0; }
#define XVOID(func,typeargs,args,icdidx,stack) EXPORT void STDCALL func typeargs {}
#include "slowlist.h"
#undef XVOID
#undef X
/* EOF */

View file

@ -0,0 +1,174 @@
;SLOW_ENTRY name,icdidx,stack
SLOW_ENTRY glAccum,213,8
SLOW_ENTRY glAlphaFunc,240,8
SLOW_ENTRY glAreTexturesResident,322,12
SLOW_ENTRY glBitmap,8,28
SLOW_ENTRY glBlendFunc,241,8
SLOW_ENTRY glClear,203,4
SLOW_ENTRY glClearAccum,204,16
SLOW_ENTRY glClearColor,206,16
SLOW_ENTRY glClearDepth,208,8
SLOW_ENTRY glClearIndex,205,4
SLOW_ENTRY glClearStencil,207,4
SLOW_ENTRY glClipPlane,150,8
SLOW_ENTRY glColorMask,210,16
SLOW_ENTRY glColorMaterial,151,8
SLOW_ENTRY glCopyPixels,255,20
SLOW_ENTRY glCopyTexImage1D,323,28
SLOW_ENTRY glCopyTexImage2D,324,32
SLOW_ENTRY glCopyTexSubImage1D,325,24
SLOW_ENTRY glCopyTexSubImage2D,326,32
SLOW_ENTRY glCullFace,152,4
SLOW_ENTRY glDeleteLists,4,8
SLOW_ENTRY glDeleteTextures,327,8
SLOW_ENTRY glDepthFunc,245,4
SLOW_ENTRY glDepthMask,211,4
SLOW_ENTRY glDepthRange,288,16
SLOW_ENTRY glDrawBuffer,202,4
SLOW_ENTRY glDrawPixels,257,20
SLOW_ENTRY glEndList,1,0
SLOW_ENTRY glEvalMesh1,236,12
SLOW_ENTRY glEvalMesh2,238,20
SLOW_ENTRY glFeedbackBuffer,194,12
SLOW_ENTRY glFinish,216,0
SLOW_ENTRY glFlush,217,0
SLOW_ENTRY glFogf,153,8
SLOW_ENTRY glFogfv,154,8
SLOW_ENTRY glFogi,155,8
SLOW_ENTRY glFogiv,156,8
SLOW_ENTRY glFrontFace,157,4
SLOW_ENTRY glFrustum,289,48
SLOW_ENTRY glGenLists,5,4
SLOW_ENTRY glGenTextures,328,8
SLOW_ENTRY glGetBooleanv,258,8
SLOW_ENTRY glGetClipPlane,259,8
SLOW_ENTRY glGetDoublev,260,8
SLOW_ENTRY glGetError,261,0
SLOW_ENTRY glGetFloatv,262,8
SLOW_ENTRY glGetIntegerv,263,8
SLOW_ENTRY glGetLightfv,264,12
SLOW_ENTRY glGetLightiv,265,12
SLOW_ENTRY glGetMapdv,266,12
SLOW_ENTRY glGetMapfv,267,12
SLOW_ENTRY glGetMapiv,268,12
SLOW_ENTRY glGetMaterialfv,269,12
SLOW_ENTRY glGetMaterialiv,270,12
SLOW_ENTRY glGetPixelMapfv,271,8
SLOW_ENTRY glGetPixelMapuiv,272,8
SLOW_ENTRY glGetPixelMapusv,273,8
SLOW_ENTRY glGetPolygonStipple,274,4
SLOW_ENTRY glGetString,275,4
SLOW_ENTRY glGetTexEnvfv,276,12
SLOW_ENTRY glGetTexEnviv,277,12
SLOW_ENTRY glGetTexGendv,278,12
SLOW_ENTRY glGetTexGenfv,279,12
SLOW_ENTRY glGetTexGeniv,280,12
SLOW_ENTRY glGetTexImage,281,20
SLOW_ENTRY glGetTexLevelParameterfv,284,16
SLOW_ENTRY glGetTexLevelParameteriv,285,16
SLOW_ENTRY glGetTexParameterfv,282,12
SLOW_ENTRY glGetTexParameteriv,283,12
SLOW_ENTRY glHint,158,8
SLOW_ENTRY glIndexMask,212,4
SLOW_ENTRY glInitNames,197,0
SLOW_ENTRY glIsEnabled,286,4
SLOW_ENTRY glIsList,287,4
SLOW_ENTRY glIsTexture,330,4
SLOW_ENTRY glLightModelf,163,8
SLOW_ENTRY glLightModelfv,164,8
SLOW_ENTRY glLightModeli,165,8
SLOW_ENTRY glLightModeliv,166,8
SLOW_ENTRY glLightf,159,12
SLOW_ENTRY glLightfv,160,12
SLOW_ENTRY glLighti,161,12
SLOW_ENTRY glLightiv,162,12
SLOW_ENTRY glLineStipple,167,8
SLOW_ENTRY glLineWidth,168,4
SLOW_ENTRY glListBase,6,4
SLOW_ENTRY glLoadName,198,4
SLOW_ENTRY glLogicOp,242,4
SLOW_ENTRY glMap1d,220,32
SLOW_ENTRY glMap1f,221,24
SLOW_ENTRY glMap2d,222,56
SLOW_ENTRY glMap2f,223,40
SLOW_ENTRY glMapGrid1d,224,20
SLOW_ENTRY glMapGrid1f,225,12
SLOW_ENTRY glMapGrid2d,226,40
SLOW_ENTRY glMapGrid2f,227,24
SLOW_ENTRY glNewList,0,8
SLOW_ENTRY glOrtho,296,48
SLOW_ENTRY glPassThrough,199,4
SLOW_ENTRY glPixelMapfv,251,12
SLOW_ENTRY glPixelMapuiv,252,12
SLOW_ENTRY glPixelMapusv,253,12
SLOW_ENTRY glPixelStoref,249,8
SLOW_ENTRY glPixelStorei,250,8
SLOW_ENTRY glPixelTransferf,247,8
SLOW_ENTRY glPixelTransferi,248,8
SLOW_ENTRY glPixelZoom,246,8
SLOW_ENTRY glPointSize,173,4
SLOW_ENTRY glPolygonMode,174,8
SLOW_ENTRY glPolygonStipple,175,4
SLOW_ENTRY glPopName,200,0
SLOW_ENTRY glPrioritizeTextures,331,12
SLOW_ENTRY glPushName,201,4
SLOW_ENTRY glRasterPos2d,62,16
SLOW_ENTRY glRasterPos2dv,63,4
SLOW_ENTRY glRasterPos2f,64,8
SLOW_ENTRY glRasterPos2fv,65,4
SLOW_ENTRY glRasterPos2i,66,8
SLOW_ENTRY glRasterPos2iv,67,4
SLOW_ENTRY glRasterPos2s,68,8
SLOW_ENTRY glRasterPos2sv,69,4
SLOW_ENTRY glRasterPos3d,70,24
SLOW_ENTRY glRasterPos3dv,71,4
SLOW_ENTRY glRasterPos3f,72,12
SLOW_ENTRY glRasterPos3fv,73,4
SLOW_ENTRY glRasterPos3i,74,12
SLOW_ENTRY glRasterPos3iv,75,4
SLOW_ENTRY glRasterPos3s,76,12
SLOW_ENTRY glRasterPos3sv,77,4
SLOW_ENTRY glRasterPos4d,78,32
SLOW_ENTRY glRasterPos4dv,79,4
SLOW_ENTRY glRasterPos4f,80,16
SLOW_ENTRY glRasterPos4fv,81,4
SLOW_ENTRY glRasterPos4i,82,16
SLOW_ENTRY glRasterPos4iv,83,4
SLOW_ENTRY glRasterPos4s,84,16
SLOW_ENTRY glRasterPos4sv,85,4
SLOW_ENTRY glReadBuffer,254,4
SLOW_ENTRY glReadPixels,256,28
SLOW_ENTRY glRectd,86,32
SLOW_ENTRY glRectdv,87,8
SLOW_ENTRY glRectf,88,16
SLOW_ENTRY glRectfv,89,8
SLOW_ENTRY glRecti,90,16
SLOW_ENTRY glRectiv,91,8
SLOW_ENTRY glRects,92,16
SLOW_ENTRY glRectsv,93,8
SLOW_ENTRY glRenderMode,196,4
SLOW_ENTRY glScissor,176,16
SLOW_ENTRY glSelectBuffer,195,8
SLOW_ENTRY glShadeModel,177,4
SLOW_ENTRY glStencilFunc,243,12
SLOW_ENTRY glStencilMask,209,4
SLOW_ENTRY glStencilOp,244,12
SLOW_ENTRY glTexEnvf,184,12
SLOW_ENTRY glTexEnvfv,185,12
SLOW_ENTRY glTexEnvi,186,12
SLOW_ENTRY glTexEnviv,187,12
SLOW_ENTRY glTexGend,188,16
SLOW_ENTRY glTexGendv,189,12
SLOW_ENTRY glTexGenf,190,12
SLOW_ENTRY glTexGenfv,191,12
SLOW_ENTRY glTexGeni,192,12
SLOW_ENTRY glTexGeniv,193,12
SLOW_ENTRY glTexImage1D,182,32
SLOW_ENTRY glTexImage2D,183,36
SLOW_ENTRY glTexParameterf,178,12
SLOW_ENTRY glTexParameterfv,179,12
SLOW_ENTRY glTexParameteri,180,12
SLOW_ENTRY glTexParameteriv,181,12
SLOW_ENTRY glTexSubImage1D,332,28
SLOW_ENTRY glTexSubImage2D,333,36
SLOW_ENTRY glViewport,305,16

View file

@ -1,12 +1,18 @@
section .text
%macro TEB_ENTRY 4
;TEBOFF_%1 equ ($%3+714h)
;export %1
global _%1@%4
_%1@%4:
mov eax, [fs:18h] ; obtain a pointer to the TEB
jmp [eax+%3+7C4h]
%endmacro
%include "teblist.mac"
%undef TEB_ENTRY
%macro SLOW_ENTRY 3
global _%1@%3
_%1@%3:
mov eax, [fs:18h] ; obtain a pointer to the TEB
mov eax, [eax+0BE8h] ; get glTable pointer
jmp [eax+4*%3]
%endmacro
%include "slowlist.mac"