summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
authorGraham Linden <none@none>2014-11-17 11:51:43 -0800
committerGraham Linden <none@none>2014-11-17 11:51:43 -0800
commitc9b26b11e6131b7345c9e3c90d6fb9d410d58631 (patch)
tree9f4d1bb68d4636fe0a3a426d71fd1837209ae0a0 /indra/llrender
parent5bc81b116e5fd507991a27a6b601e21753130274 (diff)
parent9eeb8344a6dd8721ebc85463e966b05a9b034381 (diff)
Merge avoiding use of timer query ARB extension when not available.
Diffstat (limited to 'indra/llrender')
-rwxr-xr-xindra/llrender/llglslshader.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp
index d9e381e998..a98737ee64 100755
--- a/indra/llrender/llglslshader.cpp
+++ b/indra/llrender/llglslshader.cpp
@@ -263,18 +263,29 @@ void LLGLSLShader::placeProfileQuery()
glBeginQueryARB(GL_SAMPLES_PASSED, mSamplesQuery);
- glBeginQueryARB(GL_TIME_ELAPSED, mTimerQuery);
+
+ if (gGLManager.mHasTimerQuery)
+ {
+ glBeginQueryARB(GL_TIME_ELAPSED, mTimerQuery);
+ }
#endif
}
void LLGLSLShader::readProfileQuery(U32 count, U32 mode)
{
#if !LL_DARWIN
- glEndQueryARB(GL_TIME_ELAPSED);
+ if (gGLManager.mHasTimerQuery)
+ {
+ glEndQueryARB(GL_TIME_ELAPSED);
+ }
+
glEndQueryARB(GL_SAMPLES_PASSED);
U64 time_elapsed = 0;
- glGetQueryObjectui64v(mTimerQuery, GL_QUERY_RESULT, &time_elapsed);
+ if (gGLManager.mHasTimerQuery)
+ {
+ glGetQueryObjectui64v(mTimerQuery, GL_QUERY_RESULT, &time_elapsed);
+ }
U64 samples_passed = 0;
glGetQueryObjectui64v(mSamplesQuery, GL_QUERY_RESULT, &samples_passed);