diff options
| author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
|---|---|---|
| committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
| commit | 1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch) | |
| tree | ab243607f74f78200787bba5b9b88f07ef1b966f /indra/llmath/llsimdtypes.inl | |
| parent | 6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff) | |
| parent | e1623bb276f83a43ce7a197e388720c05bdefe61 (diff) | |
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
# autobuild.xml
# indra/cmake/CMakeLists.txt
# indra/cmake/GoogleMock.cmake
# indra/llaudio/llaudioengine_fmodstudio.cpp
# indra/llaudio/llaudioengine_fmodstudio.h
# indra/llaudio/lllistener_fmodstudio.cpp
# indra/llaudio/lllistener_fmodstudio.h
# indra/llaudio/llstreamingaudio_fmodstudio.cpp
# indra/llaudio/llstreamingaudio_fmodstudio.h
# indra/llcharacter/llmultigesture.cpp
# indra/llcharacter/llmultigesture.h
# indra/llimage/llimage.cpp
# indra/llimage/llimagepng.cpp
# indra/llimage/llimageworker.cpp
# indra/llimage/tests/llimageworker_test.cpp
# indra/llmessage/tests/llmockhttpclient.h
# indra/llprimitive/llgltfmaterial.h
# indra/llrender/llfontfreetype.cpp
# indra/llui/llcombobox.cpp
# indra/llui/llfolderview.cpp
# indra/llui/llfolderviewmodel.h
# indra/llui/lllineeditor.cpp
# indra/llui/lllineeditor.h
# indra/llui/lltextbase.cpp
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.cpp
# indra/llui/lltextvalidate.cpp
# indra/llui/lltextvalidate.h
# indra/llui/lluictrl.h
# indra/llui/llview.cpp
# indra/llwindow/llwindowmacosx.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llappearancemgr.cpp
# indra/newview/llappearancemgr.h
# indra/newview/llavatarpropertiesprocessor.cpp
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llbreadcrumbview.cpp
# indra/newview/llbreadcrumbview.h
# indra/newview/llbreastmotion.cpp
# indra/newview/llbreastmotion.h
# indra/newview/llconversationmodel.h
# indra/newview/lldensityctrl.cpp
# indra/newview/lldensityctrl.h
# indra/newview/llface.inl
# indra/newview/llfloatereditsky.cpp
# indra/newview/llfloatereditwater.cpp
# indra/newview/llfloateremojipicker.h
# indra/newview/llfloaterimsessiontab.cpp
# indra/newview/llfloaterprofiletexture.cpp
# indra/newview/llfloaterprofiletexture.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llgesturemgr.h
# indra/newview/llimpanel.cpp
# indra/newview/llimpanel.h
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryclipboard.cpp
# indra/newview/llinventoryclipboard.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventoryfunctions.h
# indra/newview/llinventorygallery.cpp
# indra/newview/lllistbrowser.cpp
# indra/newview/lllistbrowser.h
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelprofile.h
# indra/newview/llpreviewgesture.cpp
# indra/newview/llsavedsettingsglue.cpp
# indra/newview/llsavedsettingsglue.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llurllineeditorctrl.cpp
# indra/newview/llvectorperfoptions.cpp
# indra/newview/llvectorperfoptions.h
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/macmain.h
# indra/test/test.cpp
Diffstat (limited to 'indra/llmath/llsimdtypes.inl')
| -rw-r--r-- | indra/llmath/llsimdtypes.inl | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/indra/llmath/llsimdtypes.inl b/indra/llmath/llsimdtypes.inl index e905c84954..125f4b9df5 100644 --- a/indra/llmath/llsimdtypes.inl +++ b/indra/llmath/llsimdtypes.inl @@ -1,25 +1,25 @@ -/** +/** * @file llsimdtypes.inl * @brief Inlined definitions of basic SIMD math related types * * $LicenseInfo:firstyear=2010&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -33,127 +33,127 @@ inline LLSimdScalar operator+(const LLSimdScalar& a, const LLSimdScalar& b) { - LLSimdScalar t(a); - t += b; - return t; + LLSimdScalar t(a); + t += b; + return t; } inline LLSimdScalar operator-(const LLSimdScalar& a, const LLSimdScalar& b) { - LLSimdScalar t(a); - t -= b; - return t; + LLSimdScalar t(a); + t -= b; + return t; } inline LLSimdScalar operator*(const LLSimdScalar& a, const LLSimdScalar& b) { - LLSimdScalar t(a); - t *= b; - return t; + LLSimdScalar t(a); + t *= b; + return t; } inline LLSimdScalar operator/(const LLSimdScalar& a, const LLSimdScalar& b) { - LLSimdScalar t(a); - t /= b; - return t; + LLSimdScalar t(a); + t /= b; + return t; } inline LLSimdScalar operator-(const LLSimdScalar& a) { - static LL_ALIGN_16(const U32 signMask[4]) = {0x80000000, 0x80000000, 0x80000000, 0x80000000 }; - ll_assert_aligned(signMask,16); - return _mm_xor_ps(*reinterpret_cast<const LLQuad*>(signMask), a); + static LL_ALIGN_16(const U32 signMask[4]) = {0x80000000, 0x80000000, 0x80000000, 0x80000000 }; + ll_assert_aligned(signMask,16); + return _mm_xor_ps(*reinterpret_cast<const LLQuad*>(signMask), a); } inline LLBool32 operator==(const LLSimdScalar& a, const LLSimdScalar& b) { - return _mm_comieq_ss(a, b); + return _mm_comieq_ss(a, b); } inline LLBool32 operator!=(const LLSimdScalar& a, const LLSimdScalar& b) { - return _mm_comineq_ss(a, b); + return _mm_comineq_ss(a, b); } inline LLBool32 operator<(const LLSimdScalar& a, const LLSimdScalar& b) { - return _mm_comilt_ss(a, b); + return _mm_comilt_ss(a, b); } inline LLBool32 operator<=(const LLSimdScalar& a, const LLSimdScalar& b) { - return _mm_comile_ss(a, b); + return _mm_comile_ss(a, b); } inline LLBool32 operator>(const LLSimdScalar& a, const LLSimdScalar& b) { - return _mm_comigt_ss(a, b); + return _mm_comigt_ss(a, b); } inline LLBool32 operator>=(const LLSimdScalar& a, const LLSimdScalar& b) { - return _mm_comige_ss(a, b); + return _mm_comige_ss(a, b); } inline LLBool32 LLSimdScalar::isApproximatelyEqual(const LLSimdScalar& rhs, F32 tolerance /* = F_APPROXIMATELY_ZERO */) const { - const LLSimdScalar tol( tolerance ); - const LLSimdScalar diff = _mm_sub_ss( mQ, rhs.mQ ); - const LLSimdScalar absDiff = diff.getAbs(); - return absDiff <= tol; + const LLSimdScalar tol( tolerance ); + const LLSimdScalar diff = _mm_sub_ss( mQ, rhs.mQ ); + const LLSimdScalar absDiff = diff.getAbs(); + return absDiff <= tol; } inline void LLSimdScalar::setMax( const LLSimdScalar& a, const LLSimdScalar& b ) { - mQ = _mm_max_ss( a, b ); + mQ = _mm_max_ss( a, b ); } inline void LLSimdScalar::setMin( const LLSimdScalar& a, const LLSimdScalar& b ) { - mQ = _mm_min_ss( a, b ); + mQ = _mm_min_ss( a, b ); } -inline LLSimdScalar& LLSimdScalar::operator=(F32 rhs) -{ - mQ = _mm_set_ss(rhs); - return *this; +inline LLSimdScalar& LLSimdScalar::operator=(F32 rhs) +{ + mQ = _mm_set_ss(rhs); + return *this; } -inline LLSimdScalar& LLSimdScalar::operator+=(const LLSimdScalar& rhs) +inline LLSimdScalar& LLSimdScalar::operator+=(const LLSimdScalar& rhs) { - mQ = _mm_add_ss( mQ, rhs ); - return *this; + mQ = _mm_add_ss( mQ, rhs ); + return *this; } inline LLSimdScalar& LLSimdScalar::operator-=(const LLSimdScalar& rhs) { - mQ = _mm_sub_ss( mQ, rhs ); - return *this; + mQ = _mm_sub_ss( mQ, rhs ); + return *this; } inline LLSimdScalar& LLSimdScalar::operator*=(const LLSimdScalar& rhs) { - mQ = _mm_mul_ss( mQ, rhs ); - return *this; + mQ = _mm_mul_ss( mQ, rhs ); + return *this; } inline LLSimdScalar& LLSimdScalar::operator/=(const LLSimdScalar& rhs) { - mQ = _mm_div_ss( mQ, rhs ); - return *this; + mQ = _mm_div_ss( mQ, rhs ); + return *this; } inline LLSimdScalar LLSimdScalar::getAbs() const { - static const LL_ALIGN_16(U32 F_ABS_MASK_4A[4]) = { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF }; - ll_assert_aligned(F_ABS_MASK_4A,16); - return _mm_and_ps( mQ, *reinterpret_cast<const LLQuad*>(F_ABS_MASK_4A)); + static const LL_ALIGN_16(U32 F_ABS_MASK_4A[4]) = { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF }; + ll_assert_aligned(F_ABS_MASK_4A,16); + return _mm_and_ps( mQ, *reinterpret_cast<const LLQuad*>(F_ABS_MASK_4A)); } inline F32 LLSimdScalar::getF32() const -{ - F32 ret; - _mm_store_ss(&ret, mQ); - return ret; +{ + F32 ret; + _mm_store_ss(&ret, mQ); + return ret; } |
