#3184 Fix for crash on some GPUs when setting quality to High or higher (#3201)

meow-7.2.2
Dave Parks 2024-12-03 14:32:20 -08:00 committed by GitHub
parent 9cc343b5eb
commit 73420f4f34
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 16 additions and 2 deletions

View File

@ -1259,6 +1259,7 @@ bool LLGLManager::initGL()
glGetIntegerv(GL_MAX_INTEGER_SAMPLES, &mMaxIntegerSamples);
glGetIntegerv(GL_MAX_SAMPLE_MASK_WORDS, &mMaxSampleMaskWords);
glGetIntegerv(GL_MAX_SAMPLES, &mMaxSamples);
glGetIntegerv(GL_MAX_VARYING_VECTORS, &mMaxVaryingVectors);
glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &mMaxUniformBlockSize);
// sanity clamp max uniform block size to 64k just in case

View File

@ -88,6 +88,7 @@ public:
S32 mGLMaxTextureSize;
F32 mMaxAnisotropy = 0.f;
S32 mMaxUniformBlockSize = 0;
S32 mMaxVaryingVectors = 0;
// GL 4.x capabilities
bool mHasCubeMapArray = false;

View File

@ -1,4 +1,4 @@
version 72
version 73
// 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
@ -428,3 +428,7 @@ RenderVintageMode 1 1
list TexUnit16orLess
RenderTerrainPBRDetail 1 -1
list VaryingVectors16orLess
RenderTerrainPBRPlanarSampleCount 1 1

View File

@ -1,4 +1,4 @@
version 66
version 67
// 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
@ -426,3 +426,7 @@ RenderReflectionProbeDetail 0 0
RenderReflectionsEnabled 0 0
RenderMirrors 0 0
RenderVintageMode 1 1
list VaryingVectors16orLess
RenderTerrainPBRPlanarSampleCount 1 1

View File

@ -721,6 +721,10 @@ void LLFeatureManager::applyBaseMasks()
// Make extra sure that vintage mode also gets enabled.
gSavedSettings.setBOOL("RenderVintageMode", true);
}
if (gGLManager.mMaxVaryingVectors <= 16)
{
maskFeatures("VaryingVectors16orLess");
}
// now mask by gpu string
// Replaces ' ' with '_' in mGPUString to deal with inability for parser to handle spaces