00001 00002 // 00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00007 // AkSimd.h 00008 00011 00012 #pragma once 00013 00014 #if defined AK_CPU_X86 || defined AK_CPU_X86_64 00015 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) (__vName).m128i_i32[(__num__)] ///< Retrieve scalar element from vector. 00016 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) (__vName).m128_f32[(__num__)] ///< Retrieve scalar element from vector. 00017 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) (__vName).m64_f32[(__num__)] ///< Retrieve scalar element from vector. 00018 00019 #include <AK/SoundEngine/Platforms/SSE/AkSimd.h> 00020 #endif 00021 00022 #if defined AK_CPU_ARM_NEON 00023 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) (__vName).n128_i32[(__num__)] ///< Retrieve scalar element from vector. 00024 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) (__vName).n128_f32[(__num__)] ///< Retrieve scalar element from vector. 00025 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) (__vName).n64_f32[(__num__)] ///< Retrieve scalar element from vector. 00026 00027 #define AKSIMD_DECLARE_V4F32_TYPE DirectX::XMVECTORF32 00028 #define AKSIMD_DECLARE_V4F32( _x, _a, _b, _c, _d ) AKSIMD_DECLARE_V4F32_TYPE _x = { _a, _b, _c, _d } 00029 00030 #define AKSIMD_DECLARE_V4I32_TYPE DirectX::XMVECTORI32 00031 #define AKSIMD_DECLARE_V4I32( _x, _a, _b, _c, _d ) AKSIMD_DECLARE_V4I32_TYPE _x = { _a, _b, _c, _d } 00032 00033 #include <DirectXMath.h> 00034 #include <AK/SoundEngine/Platforms/arm_neon/AkSimd.h> 00035 #endif
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'AideEnregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise