summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llrender')
-rw-r--r--indra/llrender/llgl.cpp16
-rw-r--r--indra/llrender/llvertexbuffer.cpp2
2 files changed, 15 insertions, 3 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 9d3abf32bb..a4a56af981 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -94,6 +94,17 @@ void APIENTRY gl_debug_callback(GLenum source,
return;
}*/
+ if (gGLManager.mIsDisabled &&
+ severity == GL_DEBUG_SEVERITY_HIGH_ARB &&
+ source == GL_DEBUG_SOURCE_API_ARB &&
+ type == GL_DEBUG_TYPE_ERROR_ARB &&
+ id == GL_INVALID_VALUE)
+ {
+ // Suppress messages about deleting already deleted objects called from LLViewerWindow::stopGL()
+ // "GL_INVALID_VALUE error generated. Handle does not refer to an object generated by OpenGL."
+ return;
+ }
+
// list of messages to suppress
const char* suppress[] =
{
@@ -148,8 +159,9 @@ void APIENTRY gl_debug_callback(GLenum source,
glGetBufferParameteriv(GL_UNIFORM_BUFFER, GL_BUFFER_SIZE, &ubo_size);
glGetBufferParameteriv(GL_UNIFORM_BUFFER, GL_BUFFER_IMMUTABLE_STORAGE, &ubo_immutable);
}
-
- if (severity == GL_DEBUG_SEVERITY_HIGH)
+
+ // No needs to halt when is called from LLViewerWindow::stopGL()
+ if (severity == GL_DEBUG_SEVERITY_HIGH && !gGLManager.mIsDisabled)
{
LL_ERRS() << "Halting on GL Error" << LL_ENDL;
}
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index 4f5f30d7c2..dda3c1532d 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -657,7 +657,7 @@ void LLVertexBuffer::drawElements(U32 mode, const LLVector4a* pos, const LLVecto
U16 idx = indicesp[i];
gGL.vertex3fv(pos[idx].getF32ptr());
}
-}
+ }
gGL.end();
gGL.flush();
}