00001 00002 // 00003 // Copyright (c) 2011 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00007 // AkSimd.h 00008 00011 00012 #pragma once 00013 00014 #include <AK/SoundEngine/Common/AkTypes.h> 00015 00016 #if defined AK_CPU_ARM_NEON 00017 00019 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) (__vName)[(__num__)] 00020 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) (__vName)[(__num__)] 00021 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) (__vName)[(__num__)] 00022 00023 #include <AK/SoundEngine/Platforms/arm_neon/AkSimd.h> 00024 00025 #elif defined AK_CPU_X86 || defined AK_CPU_X86_64 00026 00027 #include <AK/SoundEngine/Platforms/SSE/AkSimd.h> 00028 00029 #else 00030 00031 #include <AK/SoundEngine/Platforms/Generic/AkSimd.h> 00032 00033 #endif 00034 00035 #ifndef AKSIMD_GETELEMENT_V4F32 00036 00037 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) ((float*)&(__vName))[(__num__)] ///< Retrieve scalar element from vector. 00038 #endif 00039 00040 #ifndef AKSIMD_GETELEMENT_V2F32 00041 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) ((float*)&(__vName))[(__num__)] ///< Retrieve scalar element from vector. 00042 #endif 00043 00044 #ifndef AKSIMD_GETELEMENT_V4I32 00045 00046 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) ((int*)&(__vName))[(__num__)] ///< Retrieve scalar element from vector. 00047 #endif
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요