From c13e204474b1f177b696a15348351108c191e429 Mon Sep 17 00:00:00 2001
From: Brad Kittenbrink <brad@lindenlab.com>
Date: Thu, 23 Jun 2022 22:32:48 -0700
Subject: [PATCH] WIP adding check for existence of ARB_texture_cube_map_array
 extension

---
 indra/llrender/llgl.cpp | 6 ++++++
 indra/llrender/llgl.h   | 1 +
 2 files changed, 7 insertions(+)

diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 1a9203ef020..7b1ed62dc91 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -455,6 +455,7 @@ LLGLManager::LLGLManager() :
 	mHasAnisotropic(FALSE),
 	mHasARBEnvCombine(FALSE),
 	mHasCubeMap(FALSE),
+	mHasCubeMapArray(FALSE),
 	mHasDebugOutput(FALSE),
 
 	mIsAMD(FALSE),
@@ -1069,6 +1070,7 @@ void LLGLManager::initExtensions()
 	mHasDebugOutput = ExtensionExists("GL_ARB_debug_output", gGLHExts.mSysExts);
 	mHasTransformFeedback = mGLVersion >= 4.f ? TRUE : FALSE;
     mHasUniformBufferObject = ExtensionExists("GL_ARB_uniform_buffer_object", gGLHExts.mSysExts);
+    mHasCubeMapArray = ExtensionExists("GL_ARB_texture_cube_map_array", gGLHExts.mSysExts);
 #if !LL_DARWIN
 	mHasPointParameters = ExtensionExists("GL_ARB_point_parameters", gGLHExts.mSysExts);
 #endif
@@ -1181,6 +1183,10 @@ void LLGLManager::initExtensions()
 	{
 		LL_INFOS("RenderInit") << "Couldn't initialize GL_ARB_draw_buffers" << LL_ENDL;
 	}
+	if (!mHasCubeMapArray)
+	{
+		LL_INFOS("RenderInit") << "Couldn't initialize GL_ARB_texture_cube_map_array" << LL_ENDL;
+	}
 
 	// Disable certain things due to known bugs
 	if (mIsIntel && mHasMipMapGeneration)
diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h
index eea53ed01e7..cd0b247ed87 100644
--- a/indra/llrender/llgl.h
+++ b/indra/llrender/llgl.h
@@ -114,6 +114,7 @@ class LLGLManager
 	BOOL mHasAnisotropic;
 	BOOL mHasARBEnvCombine;
 	BOOL mHasCubeMap;
+	BOOL mHasCubeMapArray;
 	BOOL mHasDebugOutput;
 	BOOL mHassRGBTexture;
 	BOOL mHassRGBFramebuffer;
-- 
GitLab