summaryrefslogtreecommitdiff
path: root/src/mesa/sparc
diff options
context:
space:
mode:
authordavem69 <davem69>2001-06-06 22:55:28 +0000
committerdavem69 <davem69>2001-06-06 22:55:28 +0000
commit4a497e649b33f8b73696bbef0e6da221491460fe (patch)
tree1dfdc9c0e501544fc549ff77f3da6877abe79004 /src/mesa/sparc
parenta5455bb374571833080fcbd6728edcba13d45b38 (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/sparc')
-rw-r--r--src/mesa/sparc/glapi_sparc.S11
-rw-r--r--src/mesa/sparc/sparc.c9
-rw-r--r--src/mesa/sparc/sparc.h3
3 files changed, 17 insertions, 6 deletions
diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S
index 19ddfe315e..781127bf27 100644
--- a/src/mesa/sparc/glapi_sparc.S
+++ b/src/mesa/sparc/glapi_sparc.S
@@ -8,10 +8,20 @@
* sethi/or instruction sequences below at library init time.
*/
+
+.text
+.align 32
+.globl __glapi_sparc_icache_flush
+__glapi_sparc_icache_flush: /* %o0 = insn_addr */
+ flush %o0
+ retl
+ nop
+
.data
.align 64
.globl _mesa_sparc_glapi_begin
+.type _mesa_sparc_glapi_begin,@function
_mesa_sparc_glapi_begin:
GLOBL_FN(GL_PREFIX(NewList))
@@ -11758,5 +11768,6 @@ GL_PREFIX(SamplePatternSGIS):
nop
.globl _mesa_sparc_glapi_end
+.type _mesa_sparc_glapi_end,@function
_mesa_sparc_glapi_end:
diff --git a/src/mesa/sparc/sparc.c b/src/mesa/sparc/sparc.c
index 45e2cecac1..69e4463c2a 100644
--- a/src/mesa/sparc/sparc.c
+++ b/src/mesa/sparc/sparc.c
@@ -1,4 +1,4 @@
-/* $Id: sparc.c,v 1.4 2001/06/06 11:46:04 davem69 Exp $ */
+/* $Id: sparc.c,v 1.5 2001/06/06 22:55:28 davem69 Exp $ */
/*
* Mesa 3-D graphics library
@@ -143,6 +143,7 @@ void _mesa_init_all_sparc_transform_asm(void)
extern unsigned int _mesa_sparc_glapi_begin;
extern unsigned int _mesa_sparc_glapi_end;
+extern void __glapi_sparc_icache_flush(unsigned int *);
void _mesa_init_sparc_glapi_relocs(void)
{
@@ -157,15 +158,15 @@ void _mesa_init_sparc_glapi_relocs(void)
#ifdef __sparc_v9__
insn_ptr[0] |= (disp_addr >> (32 + 10));
insn_ptr[1] |= ((disp_addr & 0xffffffff) >> 10);
- _mesa_sparc_icache_flush(&insn_ptr[0]);
+ __glapi_sparc_icache_flush(&insn_ptr[0]);
insn_ptr[2] |= ((disp_addr >> 32) & ((1 << 10) - 1));
insn_ptr[3] |= (disp_addr & ((1 << 10) - 1));
- _mesa_sparc_icache_flush(&insn_ptr[2]);
+ __glapi_sparc_icache_flush(&insn_ptr[2]);
insn_ptr += 10;
#else
insn_ptr[0] |= (disp_addr >> 10);
insn_ptr[1] |= (disp_addr & ((1 << 10) - 1));
- _mesa_sparc_icache_flush(&insn_ptr[0]);
+ __glapi_sparc_icache_flush(&insn_ptr[0]);
insn_ptr += 4;
#endif
}
diff --git a/src/mesa/sparc/sparc.h b/src/mesa/sparc/sparc.h
index 432e6d11ba..55ab12122d 100644
--- a/src/mesa/sparc/sparc.h
+++ b/src/mesa/sparc/sparc.h
@@ -1,4 +1,4 @@
-/* $Id: sparc.h,v 1.2 2001/06/05 23:54:01 davem69 Exp $ */
+/* $Id: sparc.h,v 1.3 2001/06/06 22:55:28 davem69 Exp $ */
/*
* Mesa 3-D graphics library
@@ -34,6 +34,5 @@
extern void _mesa_init_all_sparc_transform_asm(void);
extern void _mesa_init_sparc_glapi_relocs(void);
-extern void _mesa_sparc_icache_flush(unsigned int *);
#endif /* !(SPARC_H) */