X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fx86%2Fsse_normal.S;h=066d46e5efd9335f151a8d67199b12ab813b9173;hb=832417f31e81b415894414621500b7aef328652b;hp=8dd84967154ed97d756c84ec2dba1f69a8ec7f4e;hpb=1b2fef5c28a40cd001598071e25b876ad4fccdd1;p=mesa.git diff --git a/src/mesa/x86/sse_normal.S b/src/mesa/x86/sse_normal.S index 8dd84967154..066d46e5efd 100644 --- a/src/mesa/x86/sse_normal.S +++ b/src/mesa/x86/sse_normal.S @@ -1,4 +1,4 @@ -/* $Id: sse_normal.S,v 1.1 2001/03/29 06:46:16 gareth Exp $ */ +/* $Id: sse_normal.S,v 1.6 2006/04/17 18:58:24 krh Exp $ */ /* * Mesa 3-D graphics library @@ -31,6 +31,7 @@ * data (trans-matrix, src_vert, dst_vert) needs to be 16byte aligned ! */ +#ifdef USE_SSE_ASM #include "matypes.h" #include "norm_args.h" @@ -44,6 +45,7 @@ ALIGNTEXT16 GLOBL GLNAME(_mesa_sse_transform_rescale_normals_no_rot) +HIDDEN(_mesa_sse_transform_rescale_normals_no_rot) GLNAME(_mesa_sse_transform_rescale_normals_no_rot): #define FRAME_OFFSET 8 @@ -56,18 +58,18 @@ GLNAME(_mesa_sse_transform_rescale_normals_no_rot): MOV_L ( ARG_MAT, EDX ) /* ptr to matrix */ MOV_L ( REGOFF(MATRIX_INV, EDX), EDX) /* matrix->inv */ - MOV_L ( REGOFF(V3F_COUNT, ESI), ECX ) /* source count */ + MOV_L ( REGOFF(V4F_COUNT, ESI), ECX ) /* source count */ TEST_L ( ECX, ECX ) JZ( LLBL(K_G3TRNNRR_finish) ) /* count was zero; go to finish */ MOV_L ( STRIDE, EAX ) /* stride */ - MOV_L ( ECX, REGOFF(V3F_COUNT, EDI) ) /* set dest-count */ + MOV_L ( ECX, REGOFF(V4F_COUNT, EDI) ) /* set dest-count */ - IMUL_L( CONST(12), ECX ) /* count *= 12 */ - MOV_L( REGOFF(V3F_START, ESI), ESI ) /* ptr to first source vertex */ + IMUL_L( CONST(16), ECX ) /* count *= 16 */ + MOV_L( REGOFF(V4F_START, ESI), ESI ) /* ptr to first source vertex */ - MOV_L( REGOFF(V3F_START, EDI), EDI ) /* ptr to first dest vertex */ + MOV_L( REGOFF(V4F_START, EDI), EDI ) /* ptr to first dest vertex */ ADD_L( EDI, ECX ) /* count += dest ptr */ ALIGNTEXT32 @@ -90,7 +92,7 @@ LLBL(K_G3TRNNRR_top): MOVSS ( XMM2, D(2) ) /* ->D(2) */ LLBL(K_G3TRNNRR_skip): - ADD_L ( CONST(12), EDI ) + ADD_L ( CONST(16), EDI ) ADD_L ( EAX, ESI ) CMP_L ( ECX, EDI ) JNE ( LLBL(K_G3TRNNRR_top) ) @@ -105,6 +107,7 @@ LLBL(K_G3TRNNRR_finish): ALIGNTEXT16 GLOBL GLNAME(_mesa_sse_transform_rescale_normals) +HIDDEN(_mesa_sse_transform_rescale_normals) GLNAME(_mesa_sse_transform_rescale_normals): #define FRAME_OFFSET 8 @@ -117,18 +120,18 @@ GLNAME(_mesa_sse_transform_rescale_normals): MOV_L ( ARG_MAT, EDX ) /* ptr to matrix */ MOV_L ( REGOFF(MATRIX_INV, EDX), EDX) /* matrix->inv */ - MOV_L ( REGOFF(V3F_COUNT, ESI), ECX ) /* source count */ + MOV_L ( REGOFF(V4F_COUNT, ESI), ECX ) /* source count */ TEST_L ( ECX, ECX ) JZ( LLBL(K_G3TRNR_finish) ) /* count was zero; go to finish */ MOV_L ( STRIDE, EAX ) /* stride */ - MOV_L ( ECX, REGOFF(V3F_COUNT, EDI) ) /* set dest-count */ + MOV_L ( ECX, REGOFF(V4F_COUNT, EDI) ) /* set dest-count */ - IMUL_L( CONST(12), ECX ) /* count *= 12 */ - MOV_L( REGOFF(V3F_START, ESI), ESI ) /* ptr to first source vertex */ + IMUL_L( CONST(16), ECX ) /* count *= 16 */ + MOV_L( REGOFF(V4F_START, ESI), ESI ) /* ptr to first source vertex */ - MOV_L( REGOFF(V3F_START, EDI), EDI ) /* ptr to first dest vertex */ + MOV_L( REGOFF(V4F_START, EDI), EDI ) /* ptr to first dest vertex */ ADD_L( EDI, ECX ) /* count += dest ptr */ ALIGNTEXT32 @@ -183,7 +186,7 @@ LLBL(K_G3TRNR_top): MOVSS ( XMM3, D(2) ) LLBL(K_G3TRNR_skip): - ADD_L ( CONST(12), EDI ) + ADD_L ( CONST(16), EDI ) ADD_L ( EAX, ESI ) CMP_L ( ECX, EDI ) JNE ( LLBL(K_G3TRNR_top) ) @@ -197,6 +200,7 @@ LLBL(K_G3TRNR_finish): ALIGNTEXT16 GLOBL GLNAME(_mesa_sse_transform_normals_no_rot) +HIDDEN(_mesa_sse_transform_normals_no_rot) GLNAME(_mesa_sse_transform_normals_no_rot): #define FRAME_OFFSET 8 @@ -209,18 +213,18 @@ GLNAME(_mesa_sse_transform_normals_no_rot): MOV_L ( ARG_MAT, EDX ) /* ptr to matrix */ MOV_L ( REGOFF(MATRIX_INV, EDX), EDX) /* matrix->inv */ - MOV_L ( REGOFF(V3F_COUNT, ESI), ECX ) /* source count */ + MOV_L ( REGOFF(V4F_COUNT, ESI), ECX ) /* source count */ TEST_L ( ECX, ECX ) JZ( LLBL(K_G3TNNRR_finish) ) /* count was zero; go to finish */ MOV_L ( STRIDE, EAX ) /* stride */ - MOV_L ( ECX, REGOFF(V3F_COUNT, EDI) ) /* set dest-count */ + MOV_L ( ECX, REGOFF(V4F_COUNT, EDI) ) /* set dest-count */ - IMUL_L( CONST(12), ECX ) /* count *= 12 */ - MOV_L( REGOFF(V3F_START, ESI), ESI ) /* ptr to first source vertex */ + IMUL_L( CONST(16), ECX ) /* count *= 16 */ + MOV_L( REGOFF(V4F_START, ESI), ESI ) /* ptr to first source vertex */ - MOV_L( REGOFF(V3F_START, EDI), EDI ) /* ptr to first dest vertex */ + MOV_L( REGOFF(V4F_START, EDI), EDI ) /* ptr to first dest vertex */ ADD_L( EDI, ECX ) /* count += dest ptr */ ALIGNTEXT32 @@ -240,7 +244,7 @@ LLBL(K_G3TNNRR_top): MOVSS( XMM2, D(2) ) LLBL(K_G3TNNRR_skip): - ADD_L ( CONST(12), EDI ) + ADD_L ( CONST(16), EDI ) ADD_L ( EAX, ESI ) CMP_L ( ECX, EDI ) JNE ( LLBL(K_G3TNNRR_top) ) @@ -250,3 +254,8 @@ LLBL(K_G3TNNRR_finish): POP_L ( ESI ) RET #undef FRAME_OFFSET +#endif + +#if defined (__ELF__) && defined (__linux__) + .section .note.GNU-stack,"",%progbits +#endif