📄 glapi_x86-64.s
字号:
/* DO NOT EDIT - This file generated automatically by gl_x86-64_asm.py (from Mesa) script */
/*
* (C) Copyright IBM Corporation 2005
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sub license,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* IBM,
* AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/* If we build with gcc's -fvisibility=hidden flag, we'll need to change
* the symbol visibility mode to 'default'.
*/
#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303
# pragma GCC visibility push(default)
# define HIDDEN(x) .hidden x
#else
# define HIDDEN(x)
#endif
#if defined(PTHREADS) || defined(USE_XTHREADS) || defined(SOLARIS_THREADS) || defined(WIN32_THREADS) || defined(BEOS_THREADS)
# define THREADS
#endif
.text
#ifdef GLX_USE_TLS
.globl _x86_64_get_get_dispatch; HIDDEN(_x86_64_get_get_dispatch)
_x86_64_get_get_dispatch:
lea _x86_64_get_dispatch(%rip), %rax
ret
.p2align 4,,15
_x86_64_get_dispatch:
movq _glapi_tls_Dispatch@GOTTPOFF(%rip), %rax
movq %fs:(%rax), %rax
ret
.size _x86_64_get_dispatch, .-_x86_64_get_dispatch
#elif defined(PTHREADS)
.extern _glapi_Dispatch
.extern _gl_DispatchTSD
.extern pthread_getspecific
.p2align 4,,15
_x86_64_get_dispatch:
movq _gl_DispatchTSD(%rip), %rdi
jmp pthread_getspecific@PLT
#elif defined(THREADS)
.extern _glapi_get_dispatch
#endif
.p2align 4,,15
.globl glNewList
.type glNewList, @function
glNewList:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 0(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
pushq %rsi
pushq %rbp
call _x86_64_get_dispatch@PLT
popq %rbp
popq %rsi
popq %rdi
movq (%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 0(%rax), %r11
jmp *%r11
1:
pushq %rdi
pushq %rsi
pushq %rbp
call _glapi_get_dispatch
popq %rbp
popq %rsi
popq %rdi
movq 0(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glNewList, .-glNewList
.p2align 4,,15
.globl glEndList
.type glEndList, @function
glEndList:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 8(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rbp
call _x86_64_get_dispatch@PLT
popq %rbp
movq 8(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 8(%rax), %r11
jmp *%r11
1:
pushq %rbp
call _glapi_get_dispatch
popq %rbp
movq 8(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glEndList, .-glEndList
.p2align 4,,15
.globl glCallList
.type glCallList, @function
glCallList:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 16(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 16(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 16(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 16(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glCallList, .-glCallList
.p2align 4,,15
.globl glCallLists
.type glCallLists, @function
glCallLists:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 24(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
pushq %rsi
pushq %rdx
call _x86_64_get_dispatch@PLT
popq %rdx
popq %rsi
popq %rdi
movq 24(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 24(%rax), %r11
jmp *%r11
1:
pushq %rdi
pushq %rsi
pushq %rdx
call _glapi_get_dispatch
popq %rdx
popq %rsi
popq %rdi
movq 24(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glCallLists, .-glCallLists
.p2align 4,,15
.globl glDeleteLists
.type glDeleteLists, @function
glDeleteLists:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 32(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
pushq %rsi
pushq %rbp
call _x86_64_get_dispatch@PLT
popq %rbp
popq %rsi
popq %rdi
movq 32(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 32(%rax), %r11
jmp *%r11
1:
pushq %rdi
pushq %rsi
pushq %rbp
call _glapi_get_dispatch
popq %rbp
popq %rsi
popq %rdi
movq 32(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glDeleteLists, .-glDeleteLists
.p2align 4,,15
.globl glGenLists
.type glGenLists, @function
glGenLists:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 40(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 40(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 40(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 40(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glGenLists, .-glGenLists
.p2align 4,,15
.globl glListBase
.type glListBase, @function
glListBase:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 48(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 48(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 48(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 48(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glListBase, .-glListBase
.p2align 4,,15
.globl glBegin
.type glBegin, @function
glBegin:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 56(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 56(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 56(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 56(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glBegin, .-glBegin
.p2align 4,,15
.globl glBitmap
.type glBitmap, @function
glBitmap:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 64(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
subq $56, %rsp
movq %rdi, (%rsp)
movq %rsi, 8(%rsp)
movq %xmm0, 16(%rsp)
movq %xmm1, 24(%rsp)
movq %xmm2, 32(%rsp)
movq %xmm3, 40(%rsp)
movq %rdx, 48(%rsp)
call _x86_64_get_dispatch@PLT
movq 48(%rsp), %rdx
movq 40(%rsp), %xmm3
movq 32(%rsp), %xmm2
movq 24(%rsp), %xmm1
movq 16(%rsp), %xmm0
movq 8(%rsp), %rsi
movq (%rsp), %rdi
addq $56, %rsp
movq 64(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 64(%rax), %r11
jmp *%r11
1:
subq $56, %rsp
movq %rdi, (%rsp)
movq %rsi, 8(%rsp)
movq %xmm0, 16(%rsp)
movq %xmm1, 24(%rsp)
movq %xmm2, 32(%rsp)
movq %xmm3, 40(%rsp)
movq %rdx, 48(%rsp)
call _glapi_get_dispatch
movq 48(%rsp), %rdx
movq 40(%rsp), %xmm3
movq 32(%rsp), %xmm2
movq 24(%rsp), %xmm1
movq 16(%rsp), %xmm0
movq 8(%rsp), %rsi
movq (%rsp), %rdi
addq $56, %rsp
movq 64(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glBitmap, .-glBitmap
.p2align 4,,15
.globl glColor3b
.type glColor3b, @function
glColor3b:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 72(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
pushq %rsi
pushq %rdx
call _x86_64_get_dispatch@PLT
popq %rdx
popq %rsi
popq %rdi
movq 72(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 72(%rax), %r11
jmp *%r11
1:
pushq %rdi
pushq %rsi
pushq %rdx
call _glapi_get_dispatch
popq %rdx
popq %rsi
popq %rdi
movq 72(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3b, .-glColor3b
.p2align 4,,15
.globl glColor3bv
.type glColor3bv, @function
glColor3bv:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 80(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 80(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 80(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 80(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3bv, .-glColor3bv
.p2align 4,,15
.globl glColor3d
.type glColor3d, @function
glColor3d:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 88(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
subq $24, %rsp
movq %xmm0, (%rsp)
movq %xmm1, 8(%rsp)
movq %xmm2, 16(%rsp)
call _x86_64_get_dispatch@PLT
movq 16(%rsp), %xmm2
movq 8(%rsp), %xmm1
movq (%rsp), %xmm0
addq $24, %rsp
movq 88(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 88(%rax), %r11
jmp *%r11
1:
subq $24, %rsp
movq %xmm0, (%rsp)
movq %xmm1, 8(%rsp)
movq %xmm2, 16(%rsp)
call _glapi_get_dispatch
movq 16(%rsp), %xmm2
movq 8(%rsp), %xmm1
movq (%rsp), %xmm0
addq $24, %rsp
movq 88(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3d, .-glColor3d
.p2align 4,,15
.globl glColor3dv
.type glColor3dv, @function
glColor3dv:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 96(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 96(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 96(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 96(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3dv, .-glColor3dv
.p2align 4,,15
.globl glColor3f
.type glColor3f, @function
glColor3f:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 104(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
subq $24, %rsp
movq %xmm0, (%rsp)
movq %xmm1, 8(%rsp)
movq %xmm2, 16(%rsp)
call _x86_64_get_dispatch@PLT
movq 16(%rsp), %xmm2
movq 8(%rsp), %xmm1
movq (%rsp), %xmm0
addq $24, %rsp
movq 104(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 104(%rax), %r11
jmp *%r11
1:
subq $24, %rsp
movq %xmm0, (%rsp)
movq %xmm1, 8(%rsp)
movq %xmm2, 16(%rsp)
call _glapi_get_dispatch
movq 16(%rsp), %xmm2
movq 8(%rsp), %xmm1
movq (%rsp), %xmm0
addq $24, %rsp
movq 104(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3f, .-glColor3f
.p2align 4,,15
.globl glColor3fv
.type glColor3fv, @function
glColor3fv:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 112(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 112(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 112(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 112(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3fv, .-glColor3fv
.p2align 4,,15
.globl glColor3i
.type glColor3i, @function
glColor3i:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 120(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
pushq %rsi
pushq %rdx
call _x86_64_get_dispatch@PLT
popq %rdx
popq %rsi
popq %rdi
movq 120(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 120(%rax), %r11
jmp *%r11
1:
pushq %rdi
pushq %rsi
pushq %rdx
call _glapi_get_dispatch
popq %rdx
popq %rsi
popq %rdi
movq 120(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3i, .-glColor3i
.p2align 4,,15
.globl glColor3iv
.type glColor3iv, @function
glColor3iv:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 128(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
call _x86_64_get_dispatch@PLT
popq %rdi
movq 128(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 128(%rax), %r11
jmp *%r11
1:
pushq %rdi
call _glapi_get_dispatch
popq %rdi
movq 128(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
.size glColor3iv, .-glColor3iv
.p2align 4,,15
.globl glColor3s
.type glColor3s, @function
glColor3s:
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 136(%rax), %r11
jmp *%r11
#elif defined(PTHREADS)
pushq %rdi
pushq %rsi
pushq %rdx
call _x86_64_get_dispatch@PLT
popq %rdx
popq %rsi
popq %rdi
movq 136(%rax), %r11
jmp *%r11
#else
movq _glapi_Dispatch(%rip), %rax
testq %rax, %rax
je 1f
movq 136(%rax), %r11
jmp *%r11
1:
pushq %rdi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -