diff options
author | davem69 <davem69> | 2001-06-06 22:55:28 +0000 |
---|---|---|
committer | davem69 <davem69> | 2001-06-06 22:55:28 +0000 |
commit | 4a497e649b33f8b73696bbef0e6da221491460fe (patch) | |
tree | 1dfdc9c0e501544fc549ff77f3da6877abe79004 /src/mesa/glapi | |
parent | a5455bb374571833080fcbd6728edcba13d45b38 (diff) |
Remove dependency on MESA sources from gl* files
in SPARC glapi optimizations by moving the icache
flush into the glapi_sparc.S file.
Brian, how is this?
Diffstat (limited to 'src/mesa/glapi')
-rw-r--r-- | src/mesa/glapi/glapi.c | 20 | ||||
-rw-r--r-- | src/mesa/glapi/glsparcasm.py | 13 |
2 files changed, 21 insertions, 12 deletions
diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c index e9887551f9a..de314de25a0 100644 --- a/src/mesa/glapi/glapi.c +++ b/src/mesa/glapi/glapi.c @@ -1,4 +1,4 @@ -/* $Id: glapi.c,v 1.55 2001/06/05 23:54:00 davem69 Exp $ */ +/* $Id: glapi.c,v 1.56 2001/06/06 22:55:28 davem69 Exp $ */ /* * Mesa 3-D graphics library @@ -52,10 +52,6 @@ #include "glapitable.h" #include "glthread.h" -#ifdef USE_SPARC_ASM -#include "SPARC/sparc.h" -#endif - /***** BEGIN NO-OP DISPATCH *****/ static GLboolean WarnFlag = GL_FALSE; @@ -1709,7 +1705,9 @@ get_static_proc_address(const char *funcName) static struct name_address_offset ExtEntryTable[MAX_EXTENSION_FUNCS]; static GLuint NumExtEntryPoints = 0; - +#ifdef USE_SPARC_ASM +extern void __glapi_sparc_icache_flush(unsigned int *); +#endif /* * Generate a dispatch function (entrypoint) which jumps through @@ -1789,19 +1787,19 @@ generate_entrypoint(GLuint functionOffset) #ifdef __sparc_v9__ code[0] |= (glapi_addr >> (32 + 10)); code[1] |= ((glapi_addr & 0xffffffff) >> 10); - _mesa_sparc_icache_flush(&code[0]); + __glapi_sparc_icache_flush(&code[0]); code[2] |= ((glapi_addr >> 32) & ((1 << 10) - 1)); code[3] |= (glapi_addr & ((1 << 10) - 1)); - _mesa_sparc_icache_flush(&code[2]); + __glapi_sparc_icache_flush(&code[2]); code[6] |= ((functionOffset * 8) >> 10); code[7] |= ((functionOffset * 8) & ((1 << 10) - 1)); - _mesa_sparc_icache_flush(&code[6]); + __glapi_sparc_icache_flush(&code[6]); #else code[0] |= (glapi_addr >> 10); code[1] |= (glapi_addr & ((1 << 10) - 1)); - _mesa_sparc_icache_flush(&code[0]); + __glapi_sparc_icache_flush(&code[0]); code[2] |= (functionOffset * 4); - _mesa_sparc_icache_flush(&code[2]); + __glapi_sparc_icache_flush(&code[2]); #endif } return code; diff --git a/src/mesa/glapi/glsparcasm.py b/src/mesa/glapi/glsparcasm.py index b1cdf9e0213..d55d64b552b 100644 --- a/src/mesa/glapi/glsparcasm.py +++ b/src/mesa/glapi/glsparcasm.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# $Id: glsparcasm.py,v 1.2 2001/06/05 23:54:00 davem69 Exp $ +# $Id: glsparcasm.py,v 1.3 2001/06/06 22:55:28 davem69 Exp $ # Mesa 3-D graphics library # Version: 3.5 @@ -51,10 +51,20 @@ def PrintHead(): print ' * sethi/or instruction sequences below at library init time.' print ' */' print '' + print '' + print '.text' + print '.align 32' + print '.globl __glapi_sparc_icache_flush' + print '__glapi_sparc_icache_flush: /* %o0 = insn_addr */' + print '\tflush\t%o0' + print '\tretl' + print '\t nop' + print '' print '.data' print '.align 64' print '' print '.globl _mesa_sparc_glapi_begin' + print '.type _mesa_sparc_glapi_begin,@function' print '_mesa_sparc_glapi_begin:' print '' return @@ -64,6 +74,7 @@ def PrintTail(): print '\t nop' print '' print '.globl _mesa_sparc_glapi_end' + print '.type _mesa_sparc_glapi_end,@function' print '_mesa_sparc_glapi_end:' print '' #endif |