diff options
Diffstat (limited to 'xc/extras/Mesa/src/X86')
22 files changed, 32 insertions, 42 deletions
diff --git a/xc/extras/Mesa/src/X86/3dnow_normal.S b/xc/extras/Mesa/src/X86/3dnow_normal.S index 920788fc6..00aea0c3c 100644 --- a/xc/extras/Mesa/src/X86/3dnow_normal.S +++ b/xc/extras/Mesa/src/X86/3dnow_normal.S @@ -1,4 +1,3 @@ -/* $Id: 3dnow_normal.S,v 1.1.1.1 2002/10/22 13:06:12 alanh Exp $ */ /* * Mesa 3-D graphics library @@ -23,6 +22,7 @@ * 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. */ +/* $XFree86: xc/extras/Mesa/src/X86/3dnow_normal.S,v 1.3 2003/01/12 03:55:44 tsi Exp $ */ /* * 3Dnow assembly code by Holger Waechtler @@ -41,7 +41,7 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_transform_normalize_normals) GLNAME(_mesa_3dnow_transform_normalize_normals): - #define FRAME_OFFSET 12 +#define FRAME_OFFSET 12 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -67,8 +67,8 @@ GLNAME(_mesa_3dnow_transform_normalize_normals): PUSH_L ( EAX ) PUSH_L ( EDX ) /* save counter & pointer for */ /* the normalize pass */ - #undef FRAME_OFFSET - #define FRAME_OFFSET 24 +#undef FRAME_OFFSET +#define FRAME_OFFSET 24 MOVQ ( M(0), MM3 ) /* m1 | m0 */ MOVQ ( M(4), MM4 ) /* m5 | m4 */ @@ -218,8 +218,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_transform_normalize_normals_no_rot) GLNAME(_mesa_3dnow_transform_normalize_normals_no_rot): - #undef FRAME_OFFSET - #define FRAME_OFFSET 12 +#undef FRAME_OFFSET +#define FRAME_OFFSET 12 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -357,8 +357,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_transform_rescale_normals_no_rot) GLNAME(_mesa_3dnow_transform_rescale_normals_no_rot): - #undef FRAME_OFFSET - #define FRAME_OFFSET 12 +#undef FRAME_OFFSET +#define FRAME_OFFSET 12 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -428,8 +428,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_transform_rescale_normals) GLNAME(_mesa_3dnow_transform_rescale_normals): - #undef FRAME_OFFSET - #define FRAME_OFFSET 8 +#undef FRAME_OFFSET +#define FRAME_OFFSET 8 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -525,8 +525,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_transform_normals_no_rot) GLNAME(_mesa_3dnow_transform_normals_no_rot): - #undef FRAME_OFFSET - #define FRAME_OFFSET 8 +#undef FRAME_OFFSET +#define FRAME_OFFSET 8 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -591,8 +591,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_transform_normals) GLNAME(_mesa_3dnow_transform_normals): - #undef FRAME_OFFSET - #define FRAME_OFFSET 8 +#undef FRAME_OFFSET +#define FRAME_OFFSET 8 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -675,8 +675,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_normalize_normals) GLNAME(_mesa_3dnow_normalize_normals): - #undef FRAME_OFFSET - #define FRAME_OFFSET 12 +#undef FRAME_OFFSET +#define FRAME_OFFSET 12 PUSH_L ( EDI ) PUSH_L ( ESI ) @@ -786,8 +786,8 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_3dnow_rescale_normals) GLNAME(_mesa_3dnow_rescale_normals): - #undef FRAME_OFFSET - #define FRAME_OFFSET 8 +#undef FRAME_OFFSET +#define FRAME_OFFSET 8 PUSH_L ( EDI ) PUSH_L ( ESI ) diff --git a/xc/extras/Mesa/src/X86/3dnow_xform1.S b/xc/extras/Mesa/src/X86/3dnow_xform1.S index 2cd83a9a9..1713dd076 100644 --- a/xc/extras/Mesa/src/X86/3dnow_xform1.S +++ b/xc/extras/Mesa/src/X86/3dnow_xform1.S @@ -1,4 +1,3 @@ -/* $Id: 3dnow_xform1.S,v 1.1.1.1 2002/10/22 13:06:07 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/3dnow_xform2.S b/xc/extras/Mesa/src/X86/3dnow_xform2.S index f4413e723..4627935dc 100644 --- a/xc/extras/Mesa/src/X86/3dnow_xform2.S +++ b/xc/extras/Mesa/src/X86/3dnow_xform2.S @@ -1,4 +1,3 @@ -/* $Id: 3dnow_xform2.S,v 1.1.1.1 2002/10/22 13:06:07 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/3dnow_xform3.S b/xc/extras/Mesa/src/X86/3dnow_xform3.S index 0ad9d7e45..ac6153c36 100644 --- a/xc/extras/Mesa/src/X86/3dnow_xform3.S +++ b/xc/extras/Mesa/src/X86/3dnow_xform3.S @@ -1,4 +1,3 @@ -/* $Id: 3dnow_xform3.S,v 1.1.1.1 2002/10/22 13:06:08 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/3dnow_xform4.S b/xc/extras/Mesa/src/X86/3dnow_xform4.S index 475975192..32d481f8e 100644 --- a/xc/extras/Mesa/src/X86/3dnow_xform4.S +++ b/xc/extras/Mesa/src/X86/3dnow_xform4.S @@ -1,4 +1,3 @@ -/* $Id: 3dnow_xform4.S,v 1.1.1.1 2002/10/22 13:06:08 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/common_x86.c b/xc/extras/Mesa/src/X86/common_x86.c index fc0fbb8c5..80d54f36f 100644 --- a/xc/extras/Mesa/src/X86/common_x86.c +++ b/xc/extras/Mesa/src/X86/common_x86.c @@ -29,7 +29,7 @@ * * Written by Holger Waechtler <holger@akaflieg.extern.tu-berlin.de> * Changed by Andre Werthmann <wertmann@cs.uni-potsdam.de> for using the - * new Katmai functions. + * new SSE functions. */ #include <stdlib.h> diff --git a/xc/extras/Mesa/src/X86/common_x86_asm.S b/xc/extras/Mesa/src/X86/common_x86_asm.S index 9241843ff..113f467bf 100644 --- a/xc/extras/Mesa/src/X86/common_x86_asm.S +++ b/xc/extras/Mesa/src/X86/common_x86_asm.S @@ -22,7 +22,7 @@ * 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. */ -/* $XFree86: xc/extras/Mesa/src/X86/common_x86_asm.S,v 1.13 2002/09/09 21:52:14 dawes Exp $ */ +/* $XFree86: xc/extras/Mesa/src/X86/common_x86_asm.S,v 1.16 2002/12/16 16:18:33 dawes Exp $ */ /* * Check extended CPU capabilities. Now justs returns the raw CPUID @@ -77,6 +77,7 @@ GLOBL GLNAME( _mesa_identify_x86_cpu_features ) GLNAME( _mesa_identify_x86_cpu_features ): PUSH_L ( EBX ) + PUSH_L ( ESI ) /* Test for the CPUID command. If the ID Flag bit in EFLAGS * (bit 21) is writable, the CPUID command is present. @@ -116,6 +117,11 @@ GLNAME( _mesa_identify_x86_cpu_features ): MOV_L ( CONST(0x1), EAX ) CPUID MOV_L ( EDX, EAX ) + + /* Mask out highest bit, which is used by AMD for 3dnow. + * Newer Intel have this bit set, but do not support 3dnow. + */ + AND_L ( CONST(0X7FFFFFFF), EAX) JMP ( LLBL(cpuid_done) ) LLBL(cpuid_amd): @@ -172,6 +178,7 @@ LLBL(cpuid_failed): LLBL (cpuid_done): + POP_L ( ESI ) POP_L ( EBX ) RET diff --git a/xc/extras/Mesa/src/X86/common_x86_asm.h b/xc/extras/Mesa/src/X86/common_x86_asm.h index 38096eced..49033ca1a 100644 --- a/xc/extras/Mesa/src/X86/common_x86_asm.h +++ b/xc/extras/Mesa/src/X86/common_x86_asm.h @@ -29,7 +29,7 @@ * * Written by Holger Waechtler <holger@akaflieg.extern.tu-berlin.de> * Changed by Andre Werthmann <wertmann@cs.uni-potsdam.de> for using the - * new Katmai functions + * new SSE functions * * Reimplemented by Gareth Hughes <gareth@valinux.com> in a more * future-proof manner, based on code in the Linux kernel. diff --git a/xc/extras/Mesa/src/X86/common_x86_macros.h b/xc/extras/Mesa/src/X86/common_x86_macros.h index 05574e539..d1569a9dc 100644 --- a/xc/extras/Mesa/src/X86/common_x86_macros.h +++ b/xc/extras/Mesa/src/X86/common_x86_macros.h @@ -1,4 +1,3 @@ -/* $Id: common_x86_macros.h,v 1.1.1.1 2002/10/22 13:06:16 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/gen_matypes.c b/xc/extras/Mesa/src/X86/gen_matypes.c index c983fdd5f..5c6b3fefd 100644 --- a/xc/extras/Mesa/src/X86/gen_matypes.c +++ b/xc/extras/Mesa/src/X86/gen_matypes.c @@ -1,4 +1,3 @@ -/* $Id: gen_matypes.c,v 1.1.1.1 2002/10/22 13:06:08 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/mmx.h b/xc/extras/Mesa/src/X86/mmx.h index 9692d3f2a..6adfb5fbd 100644 --- a/xc/extras/Mesa/src/X86/mmx.h +++ b/xc/extras/Mesa/src/X86/mmx.h @@ -1,4 +1,4 @@ -/* $Id: mmx.h,v 1.1.1.4 2002/10/22 13:06:08 alanh Exp $ */ +/* $Id: mmx.h,v 1.1.1.5 2003/03/25 00:02:43 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/norm_args.h b/xc/extras/Mesa/src/X86/norm_args.h index 7c44fef83..59cbda7b0 100644 --- a/xc/extras/Mesa/src/X86/norm_args.h +++ b/xc/extras/Mesa/src/X86/norm_args.h @@ -1,4 +1,3 @@ -/* $Id: norm_args.h,v 1.1.1.1 2002/10/22 13:06:14 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse.c b/xc/extras/Mesa/src/X86/sse.c index dea52e9e3..79771a98c 100644 --- a/xc/extras/Mesa/src/X86/sse.c +++ b/xc/extras/Mesa/src/X86/sse.c @@ -1,4 +1,3 @@ -/* $Id: sse.c,v 1.1.1.1 2002/10/22 13:06:08 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse.h b/xc/extras/Mesa/src/X86/sse.h index 0d0ce4c14..c594446e8 100644 --- a/xc/extras/Mesa/src/X86/sse.h +++ b/xc/extras/Mesa/src/X86/sse.h @@ -1,4 +1,3 @@ -/* $Id: sse.h,v 1.1.1.1 2002/10/22 13:06:08 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse_normal.S b/xc/extras/Mesa/src/X86/sse_normal.S index 4b2d6edbe..afc12f3b5 100644 --- a/xc/extras/Mesa/src/X86/sse_normal.S +++ b/xc/extras/Mesa/src/X86/sse_normal.S @@ -1,4 +1,3 @@ -/* $Id: sse_normal.S,v 1.1.1.1 2002/10/22 13:06:09 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse_xform1.S b/xc/extras/Mesa/src/X86/sse_xform1.S index ac3582629..41dd39d50 100644 --- a/xc/extras/Mesa/src/X86/sse_xform1.S +++ b/xc/extras/Mesa/src/X86/sse_xform1.S @@ -1,4 +1,3 @@ -/* $Id: sse_xform1.S,v 1.1.1.1 2002/10/22 13:06:15 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse_xform2.S b/xc/extras/Mesa/src/X86/sse_xform2.S index 23c2b5497..025af4c50 100644 --- a/xc/extras/Mesa/src/X86/sse_xform2.S +++ b/xc/extras/Mesa/src/X86/sse_xform2.S @@ -1,4 +1,3 @@ -/* $Id: sse_xform2.S,v 1.1.1.1 2002/10/22 13:06:15 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse_xform3.S b/xc/extras/Mesa/src/X86/sse_xform3.S index b4b83f710..8518b9c5f 100644 --- a/xc/extras/Mesa/src/X86/sse_xform3.S +++ b/xc/extras/Mesa/src/X86/sse_xform3.S @@ -1,4 +1,3 @@ -/* $Id: sse_xform3.S,v 1.1.1.1 2002/10/22 13:06:16 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/sse_xform4.S b/xc/extras/Mesa/src/X86/sse_xform4.S index 2c53d45d1..5335939a1 100644 --- a/xc/extras/Mesa/src/X86/sse_xform4.S +++ b/xc/extras/Mesa/src/X86/sse_xform4.S @@ -1,4 +1,3 @@ -/* $Id: sse_xform4.S,v 1.1.1.1 2002/10/22 13:06:16 alanh Exp $ */ /* * Mesa 3-D graphics library diff --git a/xc/extras/Mesa/src/X86/x86_xform2.S b/xc/extras/Mesa/src/X86/x86_xform2.S index 31446add7..a2338ffdf 100644 --- a/xc/extras/Mesa/src/X86/x86_xform2.S +++ b/xc/extras/Mesa/src/X86/x86_xform2.S @@ -1,4 +1,3 @@ -/* $Id: x86_xform2.S,v 1.1.1.1 2002/10/22 13:06:14 alanh Exp $ */ /* * Mesa 3-D graphics library @@ -23,7 +22,7 @@ * 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. */ -/* $XFree86: xc/extras/Mesa/src/X86/x86_xform2.S,v 1.3 2002/09/09 21:07:33 dawes Exp $ */ +/* $XFree86: xc/extras/Mesa/src/X86/x86_xform2.S,v 1.4 2002/12/16 16:18:33 dawes Exp $ */ /* * NOTE: Avoid using spaces in between '(' ')' and arguments, especially diff --git a/xc/extras/Mesa/src/X86/x86_xform3.S b/xc/extras/Mesa/src/X86/x86_xform3.S index 72539dfcb..375097fe7 100644 --- a/xc/extras/Mesa/src/X86/x86_xform3.S +++ b/xc/extras/Mesa/src/X86/x86_xform3.S @@ -1,4 +1,3 @@ -/* $Id: x86_xform3.S,v 1.1.1.1 2002/10/22 13:06:14 alanh Exp $ */ /* * Mesa 3-D graphics library @@ -23,7 +22,7 @@ * 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. */ -/* $XFree86: xc/extras/Mesa/src/X86/x86_xform3.S,v 1.3 2002/09/09 21:07:33 dawes Exp $ */ +/* $XFree86: xc/extras/Mesa/src/X86/x86_xform3.S,v 1.4 2002/12/16 16:18:33 dawes Exp $ */ /* * NOTE: Avoid using spaces in between '(' ')' and arguments, especially diff --git a/xc/extras/Mesa/src/X86/x86_xform4.S b/xc/extras/Mesa/src/X86/x86_xform4.S index 87821ad32..6014a4198 100644 --- a/xc/extras/Mesa/src/X86/x86_xform4.S +++ b/xc/extras/Mesa/src/X86/x86_xform4.S @@ -1,4 +1,3 @@ -/* $Id: x86_xform4.S,v 1.1.1.1 2002/10/22 13:06:14 alanh Exp $ */ /* * Mesa 3-D graphics library @@ -23,7 +22,7 @@ * 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. */ -/* $XFree86: xc/extras/Mesa/src/X86/x86_xform4.S,v 1.3 2002/09/09 21:07:33 dawes Exp $ */ +/* $XFree86: xc/extras/Mesa/src/X86/x86_xform4.S,v 1.4 2002/12/16 16:18:34 dawes Exp $ */ /* * NOTE: Avoid using spaces in between '(' ')' and arguments, especially |