summaryrefslogtreecommitdiff
path: root/indra/llrender/llglslshader.cpp
diff options
context:
space:
mode:
authorEuclid Linden <euclid@lindenlab.com>2021-06-07 21:53:41 +0000
committerEuclid Linden <euclid@lindenlab.com>2021-06-07 21:53:41 +0000
commitc3d7cd4ac12fd73bf3d7abd402312765a71e06c3 (patch)
tree3778170a54540aeda742494df8d18b8383e11f23 /indra/llrender/llglslshader.cpp
parent639acb6ff7495a6840d437dd8473172ec03e200a (diff)
parent9dc6a6a1b7ec21a578ac6f5a92eb16037f323824 (diff)
Merged in DV528-merge-6.4.20 (pull request #591)
DRTVWR-528 merge up to 6.4.20
Diffstat (limited to 'indra/llrender/llglslshader.cpp')
-rw-r--r--indra/llrender/llglslshader.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp
index d669e7134c..42b8c35442 100644
--- a/indra/llrender/llglslshader.cpp
+++ b/indra/llrender/llglslshader.cpp
@@ -411,10 +411,18 @@ BOOL LLGLSLShader::createShader(std::vector<LLStaticHashedString> * attributes,
mLightHash = 0xFFFFFFFF;
llassert_always(!mShaderFiles.empty());
- BOOL success = TRUE;
// Create program
mProgramObject = glCreateProgramObjectARB();
+ if (mProgramObject == 0)
+ {
+ // Shouldn't happen if shader related extensions, like ARB_vertex_shader, exist.
+ LL_SHADER_LOADING_WARNS() << "Failed to create handle for shader: " << mName << LL_ENDL;
+ unloadInternal();
+ return FALSE;
+ }
+
+ BOOL success = TRUE;
#if LL_DARWIN
// work-around missing mix(vec3,vec3,bvec3)