From ee34e6ef716bb630440299ac1efbc2055ef09ffd Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 12 Jun 2006 16:26:29 +0000 Subject: Add support for GL_APPLE_vertex_array_object. Several test programs and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required. --- src/mesa/x86-64/glapi_x86-64.S | 134 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 133 insertions(+), 1 deletion(-) (limited to 'src/mesa/x86-64') diff --git a/src/mesa/x86-64/glapi_x86-64.S b/src/mesa/x86-64/glapi_x86-64.S index d976d53fe4..d0ecb08602 100644 --- a/src/mesa/x86-64/glapi_x86-64.S +++ b/src/mesa/x86-64/glapi_x86-64.S @@ -30936,6 +30936,138 @@ GL_PREFIX(BlitFramebufferEXT): #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlitFramebufferEXT), .-GL_PREFIX(BlitFramebufferEXT) + .p2align 4,,15 + .globl GL_PREFIX(BindVertexArrayAPPLE) + .type GL_PREFIX(BindVertexArrayAPPLE), @function +GL_PREFIX(BindVertexArrayAPPLE): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6552(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 6552(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6552(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 6552(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BindVertexArrayAPPLE), .-GL_PREFIX(BindVertexArrayAPPLE) + + .p2align 4,,15 + .globl GL_PREFIX(DeleteVertexArraysAPPLE) + .type GL_PREFIX(DeleteVertexArraysAPPLE), @function +GL_PREFIX(DeleteVertexArraysAPPLE): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6560(%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 6560(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6560(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6560(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DeleteVertexArraysAPPLE), .-GL_PREFIX(DeleteVertexArraysAPPLE) + + .p2align 4,,15 + .globl GL_PREFIX(GenVertexArraysAPPLE) + .type GL_PREFIX(GenVertexArraysAPPLE), @function +GL_PREFIX(GenVertexArraysAPPLE): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6568(%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 6568(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6568(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6568(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GenVertexArraysAPPLE), .-GL_PREFIX(GenVertexArraysAPPLE) + + .p2align 4,,15 + .globl GL_PREFIX(IsVertexArrayAPPLE) + .type GL_PREFIX(IsVertexArrayAPPLE), @function +GL_PREFIX(IsVertexArrayAPPLE): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6576(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 6576(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6576(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 6576(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(IsVertexArrayAPPLE), .-GL_PREFIX(IsVertexArrayAPPLE) + .globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement) .globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture) .globl GL_PREFIX(DrawArraysEXT) ; .set GL_PREFIX(DrawArraysEXT), GL_PREFIX(DrawArrays) @@ -31127,7 +31259,7 @@ GL_PREFIX(BlitFramebufferEXT): .long 2,4,20 /* Minimum kernel version w/TLS */ 3: .p2align 2 /* pad out section */ #endif /* GLX_USE_TLS */ - + #if defined (__ELF__) && defined (__linux__) .section .note.GNU-stack,"",%progbits #endif -- cgit v1.2.3