diff options
author | Dave Parks <davep@lindenlab.com> | 2023-01-23 11:48:43 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2023-01-23 11:48:43 -0600 |
commit | 274da636a00fd0469f7857dad7995cb11552e4ab (patch) | |
tree | d595a76d4925ee59760f9ebb532edaf8224d211c /indra | |
parent | 3fac6115c0de172e48fbfd13753bc83b755ecf21 (diff) |
SL-18869 Followup -- AMD optimization pass.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llcommon/llprofiler.h | 2 | ||||
-rw-r--r-- | indra/llrender/llvertexbuffer.cpp | 30 | ||||
-rw-r--r-- | indra/newview/featuretable.txt | 5 |
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 |