summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
diff options
context:
space:
mode:
authorRye <rye@lindenlab.com>2025-02-10 14:08:56 -0500
committerRye <rye@lindenlab.com>2025-02-11 05:04:10 -0500
commit4ab2a80e6c8ab6c183143fbbca2c3386088caeb6 (patch)
tree2245da9ab8791495a4dc9048b046cd1b25d13382 /indra/newview/llappviewer.cpp
parent9fef2a114ea7eb6c42dd29e94ba5dc3451eb4560 (diff)
Use SSE2NEON to emulate SSE intrinsics when building against an ARM target
Diffstat (limited to 'indra/newview/llappviewer.cpp')
-rw-r--r--indra/newview/llappviewer.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 84cce2348a..9392d111f2 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -972,6 +972,7 @@ bool LLAppViewer::init()
return false;
}
+#if defined(LL_X86) || defined(LL_X86_64)
// Without SSE2 support we will crash almost immediately, warn here.
if (!gSysCPU.hasSSE2())
{
@@ -983,6 +984,7 @@ bool LLAppViewer::init()
// quit immediately
return false;
}
+#endif
// alert the user if they are using unsupported hardware
if (!gSavedSettings.getBOOL("AlertedUnsupportedHardware"))
@@ -1268,7 +1270,7 @@ void LLAppViewer::initMaxHeapSize()
//------------------------------------------------------------------------------------------
//currently SL is built under 32-bit setting, we set its max heap size no more than 1.6 GB.
- #ifndef LL_X86_64
+ #if !defined(LL_X86_64) && !defined(LL_ARM64)
F32Gigabytes max_heap_size_gb = (F32Gigabytes)gSavedSettings.getF32("MaxHeapSize") ;
#else
F32Gigabytes max_heap_size_gb = (F32Gigabytes)gSavedSettings.getF32("MaxHeapSize64");
@@ -3246,6 +3248,11 @@ LLSD LLAppViewer::getViewerInfo() const
info["VIEWER_VERSION_STR"] = versionInfo.getVersion();
info["CHANNEL"] = versionInfo.getChannel();
info["ADDRESS_SIZE"] = ADDRESS_SIZE;
+#if LL_ARM64
+ info["ARCHITECTURE"] = "ARM";
+#else
+ info["ARCHITECTURE"] = "x86";
+#endif
std::string build_config = versionInfo.getBuildConfig();
if (build_config != "Release")
{
@@ -5538,8 +5545,10 @@ void LLAppViewer::forceErrorBreakpoint()
#ifdef LL_WINDOWS
DebugBreak();
#else
+#if defined(LL_X86) || defined(LL_X86_64)
asm ("int $3");
#endif
+#endif
return;
}