windows-nt/Source/XPSP1/NT/multimedia/opengl/client/amd64/glapi.asm
2020-09-26 16:20:57 +08:00

441 lines
11 KiB
NASM

title "OpenGL Functions:
;++
;
; Copyright (c) 2000 Microsoft Corporation
;
; Module Name:
;
; glapi.asm
;
; Abstract:
;
; OpenGL API function entries for AMD64.
;
; Author:
;
; David N. Cutler (davec) 31-Dec-2000
;
; Environment:
;
; User mode only.
;
;--
include ksamd64.inc
include glapi.inc
extern dwTlsOffset:dword
;
; Define macro for creating aligned public OpenGL API function.
;
MAKEOPENGLAPI macro Func
LEAF_ENTRY Func, _TEXT$00
mov eax, dwTlsOffset ; get TLS slot index
add rax, gs:[TeSelf] ; get address of GLTEBINFO address
mov rax, [rax] ; get GLTEBINFO address
jmp qword ptr (INDEX_&Func * 8)[rax] ; dispatch to function
LEAF_END Func, _TEXT$00
endm
;
; Define macro to jump through the OpenGL function dispatch table in the TEB.
;
FASTOPENGLAPI macro Func
LEAF_ENTRY Func, _TEXT$00
mov rax, gs:[TeSelf] ; get TEB address
jmp qword ptr TeglDispatchTable+ (FASTINDEX_&Func * 8)[rax] ;
LEAF_END Func, _TEXT$00
endm
FASTOPENGLAPI glCallList
FASTOPENGLAPI glCallLists
FASTOPENGLAPI glBegin
FASTOPENGLAPI glColor3b
FASTOPENGLAPI glColor3bv
FASTOPENGLAPI glColor3d
FASTOPENGLAPI glColor3dv
FASTOPENGLAPI glColor3f
FASTOPENGLAPI glColor3fv
FASTOPENGLAPI glColor3i
FASTOPENGLAPI glColor3iv
FASTOPENGLAPI glColor3s
FASTOPENGLAPI glColor3sv
FASTOPENGLAPI glColor3ub
FASTOPENGLAPI glColor3ubv
FASTOPENGLAPI glColor3ui
FASTOPENGLAPI glColor3uiv
FASTOPENGLAPI glColor3us
FASTOPENGLAPI glColor3usv
FASTOPENGLAPI glColor4b
FASTOPENGLAPI glColor4bv
FASTOPENGLAPI glColor4d
FASTOPENGLAPI glColor4dv
FASTOPENGLAPI glColor4f
FASTOPENGLAPI glColor4fv
FASTOPENGLAPI glColor4i
FASTOPENGLAPI glColor4iv
FASTOPENGLAPI glColor4s
FASTOPENGLAPI glColor4sv
FASTOPENGLAPI glColor4ub
FASTOPENGLAPI glColor4ubv
FASTOPENGLAPI glColor4ui
FASTOPENGLAPI glColor4uiv
FASTOPENGLAPI glColor4us
FASTOPENGLAPI glColor4usv
FASTOPENGLAPI glEdgeFlag
FASTOPENGLAPI glEdgeFlagv
FASTOPENGLAPI glEnd
FASTOPENGLAPI glIndexd
FASTOPENGLAPI glIndexdv
FASTOPENGLAPI glIndexf
FASTOPENGLAPI glIndexfv
FASTOPENGLAPI glIndexi
FASTOPENGLAPI glIndexiv
FASTOPENGLAPI glIndexs
FASTOPENGLAPI glIndexsv
FASTOPENGLAPI glNormal3b
FASTOPENGLAPI glNormal3bv
FASTOPENGLAPI glNormal3d
FASTOPENGLAPI glNormal3dv
FASTOPENGLAPI glNormal3f
FASTOPENGLAPI glNormal3fv
FASTOPENGLAPI glNormal3i
FASTOPENGLAPI glNormal3iv
FASTOPENGLAPI glNormal3s
FASTOPENGLAPI glNormal3sv
FASTOPENGLAPI glTexCoord1d
FASTOPENGLAPI glTexCoord1dv
FASTOPENGLAPI glTexCoord1f
FASTOPENGLAPI glTexCoord1fv
FASTOPENGLAPI glTexCoord1i
FASTOPENGLAPI glTexCoord1iv
FASTOPENGLAPI glTexCoord1s
FASTOPENGLAPI glTexCoord1sv
FASTOPENGLAPI glTexCoord2d
FASTOPENGLAPI glTexCoord2dv
FASTOPENGLAPI glTexCoord2f
FASTOPENGLAPI glTexCoord2fv
FASTOPENGLAPI glTexCoord2i
FASTOPENGLAPI glTexCoord2iv
FASTOPENGLAPI glTexCoord2s
FASTOPENGLAPI glTexCoord2sv
FASTOPENGLAPI glTexCoord3d
FASTOPENGLAPI glTexCoord3dv
FASTOPENGLAPI glTexCoord3f
FASTOPENGLAPI glTexCoord3fv
FASTOPENGLAPI glTexCoord3i
FASTOPENGLAPI glTexCoord3iv
FASTOPENGLAPI glTexCoord3s
FASTOPENGLAPI glTexCoord3sv
FASTOPENGLAPI glTexCoord4d
FASTOPENGLAPI glTexCoord4dv
FASTOPENGLAPI glTexCoord4f
FASTOPENGLAPI glTexCoord4fv
FASTOPENGLAPI glTexCoord4i
FASTOPENGLAPI glTexCoord4iv
FASTOPENGLAPI glTexCoord4s
FASTOPENGLAPI glTexCoord4sv
FASTOPENGLAPI glVertex2d
FASTOPENGLAPI glVertex2dv
FASTOPENGLAPI glVertex2f
FASTOPENGLAPI glVertex2fv
FASTOPENGLAPI glVertex2i
FASTOPENGLAPI glVertex2iv
FASTOPENGLAPI glVertex2s
FASTOPENGLAPI glVertex2sv
FASTOPENGLAPI glVertex3d
FASTOPENGLAPI glVertex3dv
FASTOPENGLAPI glVertex3f
FASTOPENGLAPI glVertex3fv
FASTOPENGLAPI glVertex3i
FASTOPENGLAPI glVertex3iv
FASTOPENGLAPI glVertex3s
FASTOPENGLAPI glVertex3sv
FASTOPENGLAPI glVertex4d
FASTOPENGLAPI glVertex4dv
FASTOPENGLAPI glVertex4f
FASTOPENGLAPI glVertex4fv
FASTOPENGLAPI glVertex4i
FASTOPENGLAPI glVertex4iv
FASTOPENGLAPI glVertex4s
FASTOPENGLAPI glVertex4sv
FASTOPENGLAPI glMaterialf
FASTOPENGLAPI glMaterialfv
FASTOPENGLAPI glMateriali
FASTOPENGLAPI glMaterialiv
FASTOPENGLAPI glDisable
FASTOPENGLAPI glEnable
FASTOPENGLAPI glPopAttrib
FASTOPENGLAPI glPushAttrib
FASTOPENGLAPI glEvalCoord1d
FASTOPENGLAPI glEvalCoord1dv
FASTOPENGLAPI glEvalCoord1f
FASTOPENGLAPI glEvalCoord1fv
FASTOPENGLAPI glEvalCoord2d
FASTOPENGLAPI glEvalCoord2dv
FASTOPENGLAPI glEvalCoord2f
FASTOPENGLAPI glEvalCoord2fv
FASTOPENGLAPI glEvalPoint1
FASTOPENGLAPI glEvalPoint2
FASTOPENGLAPI glLoadIdentity
FASTOPENGLAPI glLoadMatrixf
FASTOPENGLAPI glLoadMatrixd
FASTOPENGLAPI glMatrixMode
FASTOPENGLAPI glMultMatrixf
FASTOPENGLAPI glMultMatrixd
FASTOPENGLAPI glPopMatrix
FASTOPENGLAPI glPushMatrix
FASTOPENGLAPI glRotated
FASTOPENGLAPI glRotatef
FASTOPENGLAPI glScaled
FASTOPENGLAPI glScalef
FASTOPENGLAPI glTranslated
FASTOPENGLAPI glTranslatef
FASTOPENGLAPI glArrayElement
FASTOPENGLAPI glBindTexture
FASTOPENGLAPI glColorPointer
FASTOPENGLAPI glDisableClientState
FASTOPENGLAPI glDrawArrays
FASTOPENGLAPI glDrawElements
FASTOPENGLAPI glEdgeFlagPointer
FASTOPENGLAPI glEnableClientState
FASTOPENGLAPI glIndexPointer
FASTOPENGLAPI glIndexub
FASTOPENGLAPI glIndexubv
FASTOPENGLAPI glInterleavedArrays
FASTOPENGLAPI glNormalPointer
FASTOPENGLAPI glPolygonOffset
FASTOPENGLAPI glTexCoordPointer
FASTOPENGLAPI glVertexPointer
FASTOPENGLAPI glGetPointerv
FASTOPENGLAPI glPopClientAttrib
FASTOPENGLAPI glPushClientAttrib
FASTOPENGLAPI glDrawRangeElementsWIN
FASTOPENGLAPI glColorTableEXT
FASTOPENGLAPI glColorSubTableEXT
FASTOPENGLAPI glCurrentTextureIndexWIN
FASTOPENGLAPI glBindNthTextureWIN
FASTOPENGLAPI glNthTexCombineFuncWIN
FASTOPENGLAPI glMultiTexCoord1fWIN
FASTOPENGLAPI glMultiTexCoord1fvWIN
FASTOPENGLAPI glMultiTexCoord1iWIN
FASTOPENGLAPI glMultiTexCoord1ivWIN
FASTOPENGLAPI glMultiTexCoord2fWIN
FASTOPENGLAPI glMultiTexCoord2fvWIN
FASTOPENGLAPI glMultiTexCoord2iWIN
FASTOPENGLAPI glMultiTexCoord2ivWIN
MAKEOPENGLAPI glClear
MAKEOPENGLAPI glClearAccum
MAKEOPENGLAPI glClearIndex
MAKEOPENGLAPI glClearColor
MAKEOPENGLAPI glClearStencil
MAKEOPENGLAPI glClearDepth
MAKEOPENGLAPI glBitmap
MAKEOPENGLAPI glTexImage1D
MAKEOPENGLAPI glTexImage2D
MAKEOPENGLAPI glCopyPixels
MAKEOPENGLAPI glReadPixels
MAKEOPENGLAPI glDrawPixels
MAKEOPENGLAPI glRectd
MAKEOPENGLAPI glRectdv
MAKEOPENGLAPI glRectf
MAKEOPENGLAPI glRectfv
MAKEOPENGLAPI glRecti
MAKEOPENGLAPI glRectiv
MAKEOPENGLAPI glRects
MAKEOPENGLAPI glRectsv
MAKEOPENGLAPI glNewList
MAKEOPENGLAPI glEndList
MAKEOPENGLAPI glDeleteLists
MAKEOPENGLAPI glGenLists
MAKEOPENGLAPI glListBase
MAKEOPENGLAPI glRasterPos2d
MAKEOPENGLAPI glRasterPos2dv
MAKEOPENGLAPI glRasterPos2f
MAKEOPENGLAPI glRasterPos2fv
MAKEOPENGLAPI glRasterPos2i
MAKEOPENGLAPI glRasterPos2iv
MAKEOPENGLAPI glRasterPos2s
MAKEOPENGLAPI glRasterPos2sv
MAKEOPENGLAPI glRasterPos3d
MAKEOPENGLAPI glRasterPos3dv
MAKEOPENGLAPI glRasterPos3f
MAKEOPENGLAPI glRasterPos3fv
MAKEOPENGLAPI glRasterPos3i
MAKEOPENGLAPI glRasterPos3iv
MAKEOPENGLAPI glRasterPos3s
MAKEOPENGLAPI glRasterPos3sv
MAKEOPENGLAPI glRasterPos4d
MAKEOPENGLAPI glRasterPos4dv
MAKEOPENGLAPI glRasterPos4f
MAKEOPENGLAPI glRasterPos4fv
MAKEOPENGLAPI glRasterPos4i
MAKEOPENGLAPI glRasterPos4iv
MAKEOPENGLAPI glRasterPos4s
MAKEOPENGLAPI glRasterPos4sv
MAKEOPENGLAPI glClipPlane
MAKEOPENGLAPI glColorMaterial
MAKEOPENGLAPI glCullFace
MAKEOPENGLAPI glFogf
MAKEOPENGLAPI glFogfv
MAKEOPENGLAPI glFogi
MAKEOPENGLAPI glFogiv
MAKEOPENGLAPI glFrontFace
MAKEOPENGLAPI glHint
MAKEOPENGLAPI glLightf
MAKEOPENGLAPI glLightfv
MAKEOPENGLAPI glLighti
MAKEOPENGLAPI glLightiv
MAKEOPENGLAPI glLightModelf
MAKEOPENGLAPI glLightModelfv
MAKEOPENGLAPI glLightModeli
MAKEOPENGLAPI glLightModeliv
MAKEOPENGLAPI glLineStipple
MAKEOPENGLAPI glLineWidth
MAKEOPENGLAPI glPointSize
MAKEOPENGLAPI glPolygonMode
MAKEOPENGLAPI glPolygonStipple
MAKEOPENGLAPI glScissor
MAKEOPENGLAPI glFinish
MAKEOPENGLAPI glShadeModel
MAKEOPENGLAPI glTexParameterf
MAKEOPENGLAPI glTexParameterfv
MAKEOPENGLAPI glTexParameteri
MAKEOPENGLAPI glTexParameteriv
MAKEOPENGLAPI glTexEnvf
MAKEOPENGLAPI glTexEnvfv
MAKEOPENGLAPI glTexEnvi
MAKEOPENGLAPI glTexEnviv
MAKEOPENGLAPI glTexGend
MAKEOPENGLAPI glTexGendv
MAKEOPENGLAPI glTexGenf
MAKEOPENGLAPI glTexGenfv
MAKEOPENGLAPI glTexGeni
MAKEOPENGLAPI glTexGeniv
MAKEOPENGLAPI glFeedbackBuffer
MAKEOPENGLAPI glSelectBuffer
MAKEOPENGLAPI glRenderMode
MAKEOPENGLAPI glInitNames
MAKEOPENGLAPI glLoadName
MAKEOPENGLAPI glPassThrough
MAKEOPENGLAPI glPopName
MAKEOPENGLAPI glPushName
MAKEOPENGLAPI glDrawBuffer
MAKEOPENGLAPI glStencilMask
MAKEOPENGLAPI glColorMask
MAKEOPENGLAPI glDepthMask
MAKEOPENGLAPI glIndexMask
MAKEOPENGLAPI glAccum
MAKEOPENGLAPI glFlush
MAKEOPENGLAPI glMap1d
MAKEOPENGLAPI glMap1f
MAKEOPENGLAPI glMap2d
MAKEOPENGLAPI glMap2f
MAKEOPENGLAPI glMapGrid1d
MAKEOPENGLAPI glMapGrid1f
MAKEOPENGLAPI glMapGrid2d
MAKEOPENGLAPI glMapGrid2f
MAKEOPENGLAPI glEvalMesh1
MAKEOPENGLAPI glEvalMesh2
MAKEOPENGLAPI glAlphaFunc
MAKEOPENGLAPI glBlendFunc
MAKEOPENGLAPI glLogicOp
MAKEOPENGLAPI glStencilFunc
MAKEOPENGLAPI glStencilOp
MAKEOPENGLAPI glDepthFunc
MAKEOPENGLAPI glPixelZoom
MAKEOPENGLAPI glPixelTransferf
MAKEOPENGLAPI glPixelTransferi
MAKEOPENGLAPI glPixelStoref
MAKEOPENGLAPI glPixelStorei
MAKEOPENGLAPI glPixelMapfv
MAKEOPENGLAPI glPixelMapuiv
MAKEOPENGLAPI glPixelMapusv
MAKEOPENGLAPI glReadBuffer
MAKEOPENGLAPI glGetBooleanv
MAKEOPENGLAPI glGetClipPlane
MAKEOPENGLAPI glGetDoublev
MAKEOPENGLAPI glGetError
MAKEOPENGLAPI glGetFloatv
MAKEOPENGLAPI glGetIntegerv
MAKEOPENGLAPI glGetLightfv
MAKEOPENGLAPI glGetLightiv
MAKEOPENGLAPI glGetMapdv
MAKEOPENGLAPI glGetMapfv
MAKEOPENGLAPI glGetMapiv
MAKEOPENGLAPI glGetMaterialfv
MAKEOPENGLAPI glGetMaterialiv
MAKEOPENGLAPI glGetPixelMapfv
MAKEOPENGLAPI glGetPixelMapuiv
MAKEOPENGLAPI glGetPixelMapusv
MAKEOPENGLAPI glGetPolygonStipple
MAKEOPENGLAPI glGetString
MAKEOPENGLAPI glGetTexEnvfv
MAKEOPENGLAPI glGetTexEnviv
MAKEOPENGLAPI glGetTexGendv
MAKEOPENGLAPI glGetTexGenfv
MAKEOPENGLAPI glGetTexGeniv
MAKEOPENGLAPI glGetTexImage
MAKEOPENGLAPI glGetTexParameterfv
MAKEOPENGLAPI glGetTexParameteriv
MAKEOPENGLAPI glGetTexLevelParameterfv
MAKEOPENGLAPI glGetTexLevelParameteriv
MAKEOPENGLAPI glIsEnabled
MAKEOPENGLAPI glIsList
MAKEOPENGLAPI glDepthRange
MAKEOPENGLAPI glFrustum
MAKEOPENGLAPI glOrtho
MAKEOPENGLAPI glViewport
MAKEOPENGLAPI glAreTexturesResident
MAKEOPENGLAPI glCopyTexImage1D
MAKEOPENGLAPI glCopyTexImage2D
MAKEOPENGLAPI glCopyTexSubImage1D
MAKEOPENGLAPI glCopyTexSubImage2D
MAKEOPENGLAPI glDeleteTextures
MAKEOPENGLAPI glGenTextures
MAKEOPENGLAPI glIsTexture
MAKEOPENGLAPI glPrioritizeTextures
MAKEOPENGLAPI glTexSubImage1D
MAKEOPENGLAPI glTexSubImage2D
MAKEOPENGLAPI glGetColorTableEXT
MAKEOPENGLAPI glGetColorTableParameterivEXT
MAKEOPENGLAPI glGetColorTableParameterfvEXT
MAKEOPENGLAPI glMultiTexCoord1dWIN
MAKEOPENGLAPI glMultiTexCoord1dvWIN
MAKEOPENGLAPI glMultiTexCoord1sWIN
MAKEOPENGLAPI glMultiTexCoord1svWIN
MAKEOPENGLAPI glMultiTexCoord2dWIN
MAKEOPENGLAPI glMultiTexCoord2dvWIN
MAKEOPENGLAPI glMultiTexCoord2sWIN
MAKEOPENGLAPI glMultiTexCoord2svWIN
MAKEOPENGLAPI glMultiTexCoord3dWIN
MAKEOPENGLAPI glMultiTexCoord3dvWIN
MAKEOPENGLAPI glMultiTexCoord3fWIN
MAKEOPENGLAPI glMultiTexCoord3fvWIN
MAKEOPENGLAPI glMultiTexCoord3iWIN
MAKEOPENGLAPI glMultiTexCoord3ivWIN
MAKEOPENGLAPI glMultiTexCoord3sWIN
MAKEOPENGLAPI glMultiTexCoord3svWIN
MAKEOPENGLAPI glMultiTexCoord4dWIN
MAKEOPENGLAPI glMultiTexCoord4dvWIN
MAKEOPENGLAPI glMultiTexCoord4fWIN
MAKEOPENGLAPI glMultiTexCoord4fvWIN
MAKEOPENGLAPI glMultiTexCoord4iWIN
MAKEOPENGLAPI glMultiTexCoord4ivWIN
MAKEOPENGLAPI glMultiTexCoord4sWIN
MAKEOPENGLAPI glMultiTexCoord4svWIN
end