summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authormobserveur <mobserveur@gmail.com>2024-06-29 22:48:41 +0200
committermobserveur <mobserveur@gmail.com>2024-06-29 22:48:41 +0200
commit714038e0f35329b614d12cf467230f9cb6eea017 (patch)
tree2d51920ba097820f0c383840cdae9626dfcce3a6 /indra
parent5d578f69df6ad00e51d1c2902a1f304f4d942e61 (diff)
Apple GPU Detection and Apple GPU performance optimisations
This commit adds a mIsApple member to the gl manager and refines the buffers optimisations for Apple GPU in llvertexbuffer.cpp
Diffstat (limited to 'indra')
-rw-r--r--indra/llrender/llgl.cpp7
-rw-r--r--indra/llrender/llgl.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 10920f1de3..9207e6ad73 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -1001,6 +1001,7 @@ LLGLManager::LLGLManager() :
mIsAMD(FALSE),
mIsNVIDIA(FALSE),
mIsIntel(FALSE),
+ mIsApple(FALSE),
#if LL_DARWIN
mIsMobileGF(FALSE),
#endif
@@ -1174,6 +1175,11 @@ bool LLGLManager::initGL()
mGLVendorShort = "INTEL";
mIsIntel = TRUE;
}
+ else if(mGLVendor.find("APPLE") != std::string::npos)
+ {
+ mGLVendorShort = "APPLE";
+ mIsApple = TRUE;
+ }
else
{
mGLVendorShort = "MISC";
@@ -1373,6 +1379,7 @@ void LLGLManager::asLLSD(LLSD& info)
info["is_ati"] = mIsAMD; // note, do not rename is_ati to is_amd without coordinating with DW
info["is_nvidia"] = mIsNVIDIA;
info["is_intel"] = mIsIntel;
+ info["is_apple"] = mIsApple;
info["gl_renderer"] = mGLRenderer;
}
diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h
index 5a7ad943df..e4b106c999 100644
--- a/indra/llrender/llgl.h
+++ b/indra/llrender/llgl.h
@@ -100,6 +100,7 @@ public:
BOOL mIsAMD;
BOOL mIsNVIDIA;
BOOL mIsIntel;
+ BOOL mIsApple;
#if LL_DARWIN
// Needed to distinguish problem cards on older Macs that break with Materials