etqw-sdk/source/idlib/math/Simd_SSE3.h

33 lines
1.6 KiB
C++

// Copyright (C) 2007 Id Software, Inc.
//
#ifndef __MATH_SIMD_SSE3_H__
#define __MATH_SIMD_SSE3_H__
/*
===============================================================================
SSE3 implementation of idSIMDProcessor
===============================================================================
*/
class idSIMD_SSE3 : public idSIMD_SSE2 {
#ifdef ID_WIN_X86_ASM
public:
virtual const char * VPCALL GetName( void ) const;
virtual void VPCALL TransformVerts( idDrawVert *verts, const int numVerts, const idJointMat *joints, const idVec4 *base, const jointWeight_t *weights, const int numWeights );
virtual void VPCALL TransformShadowVerts( idDrawVert *verts, const int numVerts, const idJointMat *joints, const idDrawVert *base, const jointWeight_t *weights, const int numWeights );
virtual void VPCALL TransformShadowVerts( idDrawVert *verts, const int numVerts, const idJointMat *joints, const idDrawVert *base, const short *weights, const int numWeights );
virtual void VPCALL TransformShadowVerts( struct shadowCache_s *verts, const int numVerts, const idJointMat *joints, const idDrawVert *base, const short *weights, const int numWeights );
#if !defined(SD_USE_DRAWVERT_SIZE_32)
virtual void VPCALL TransformVertsAndTangents( idDrawVert *verts, const int numVerts, const idJointMat *joints, const idVec4 *base, const jointWeight_t *weights, const int numWeights );
virtual void VPCALL TransformVertsAndTangentsFast( idDrawVert *verts, const int numVerts, const idJointMat *joints, const idVec4 *base, const jointWeight_t *weights, const int numWeights );
#endif
#endif
};
#endif /* !__MATH_SIMD_SSE3_H__ */