From 2702c90d7a39fca2a3319c5e915fd290cb31fc70 Mon Sep 17 00:00:00 2001 From: Radosław Kujawa Date: Fri, 17 Jul 2026 14:54:32 +0200 Subject: Initial import. --- src/mesa/ppc/ppc_xform.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/mesa/ppc/ppc_xform.c (limited to 'src/mesa/ppc/ppc_xform.c') diff --git a/src/mesa/ppc/ppc_xform.c b/src/mesa/ppc/ppc_xform.c new file mode 100644 index 0000000..966798c --- /dev/null +++ b/src/mesa/ppc/ppc_xform.c @@ -0,0 +1,46 @@ +#include "ppc_xform.h" + +#ifdef USE_PPC_ASM + +#include "glheader.h" +#include "math/m_xform.h" + +#include "rlvec.h" + +static void _XFORMAPI +ppc_transform_points3_general(GLvector4f *to_vec, const GLfloat m[16], + const GLvector4f *from_vec) +{ + + rlvec.xform_points3((GLfloat *)to_vec->start, m, + (const GLfloat *)from_vec->start, from_vec->stride, + from_vec->count); + to_vec->size = 4; + to_vec->flags |= VEC_SIZE_4; + to_vec->count = from_vec->count; +} + +void +_mesa_init_all_ppc_transform_asm(void) +{ + + rlvec_init(); + + /* + * points3 = the glVertex3f-class path. + */ + _mesa_transform_tab[3][MATRIX_GENERAL] = + ppc_transform_points3_general; + _mesa_transform_tab[3][MATRIX_PERSPECTIVE] = + ppc_transform_points3_general; + _mesa_transform_tab[3][MATRIX_3D] = + ppc_transform_points3_general; + _mesa_transform_tab[3][MATRIX_3D_NO_ROT] = + ppc_transform_points3_general; + _mesa_transform_tab[3][MATRIX_2D] = + ppc_transform_points3_general; + _mesa_transform_tab[3][MATRIX_2D_NO_ROT] = + ppc_transform_points3_general; +} + +#endif /* USE_PPC_ASM */ -- cgit