summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2023-01-23 11:48:43 -0600
committerDave Parks <davep@lindenlab.com>2023-01-23 11:48:43 -0600
commit274da636a00fd0469f7857dad7995cb11552e4ab (patch)
treed595a76d4925ee59760f9ebb532edaf8224d211c /indra
parent3fac6115c0de172e48fbfd13753bc83b755ecf21 (diff)
SL-18869 Followup -- AMD optimization pass.
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llprofiler.h2
-rw-r--r--indra/llrender/llvertexbuffer.cpp30
-rw-r--r--indra/newview/featuretable.txt5
3 files changed, 21 insertions, 16 deletions
diff --git a/indra/llcommon/llprofiler.h b/indra/llcommon/llprofiler.h
index c03b2e93f4..394fbd05f6 100644
--- a/indra/llcommon/llprofiler.h
+++ b/indra/llcommon/llprofiler.h
@@ -87,7 +87,7 @@ extern thread_local bool gProfilerEnabled;
#include "Tracy.hpp"
// Enable OpenGL profiling
- #define LL_PROFILER_ENABLE_TRACY_OPENGL 1
+ #define LL_PROFILER_ENABLE_TRACY_OPENGL 0
// Enable RenderDoc labeling
#define LL_PROFILER_ENABLE_RENDER_DOC 0
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index 028db79566..40ab4a2e0f 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -262,27 +262,29 @@ static GLuint gen_buffer()
LL_PROFILE_ZONE_SCOPED_CATEGORY_VERTEX;
GLuint ret = 0;
- if (!gGLManager.mIsAMD)
- {
- constexpr U32 pool_size = 4096;
+ constexpr U32 pool_size = 4096;
- thread_local static GLuint sNamePool[pool_size];
- thread_local static U32 sIndex = 0;
+ thread_local static GLuint sNamePool[pool_size];
+ thread_local static U32 sIndex = 0;
- if (sIndex == 0)
+ if (sIndex == 0)
+ {
+ LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("gen buffer");
+ sIndex = pool_size;
+ if (!gGLManager.mIsAMD)
{
- LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("gen buffer");
- sIndex = pool_size;
glGenBuffers(pool_size, sNamePool);
}
-
- ret = sNamePool[--sIndex];
- }
- else
- {
- glGenBuffers(1, &ret);
+ else
+ { // work around for AMD driver bug
+ for (U32 i = 0; i < pool_size; ++i)
+ {
+ glGenBuffers(1, sNamePool + i);
+ }
+ }
}
+ ret = sNamePool[--sIndex];
return ret;
}
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index cf0968dfd2..2821b63391 100644
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -1,4 +1,4 @@
-version 45
+version 46
// The version number above should be incremented IF AND ONLY IF some
// change has been made that is sufficiently important to justify
// resetting the graphics preferences of all users to the recommended
@@ -291,6 +291,9 @@ RenderAnisotropic 1 0
RenderFSAASamples 1 0
RenderGLContextCoreProfile 1 0
+list AMD
+RenderGLMultiThreaded 1 1
+
list GL3
RenderFSAASamples 0 0
RenderReflectionsEnabled 0 0