diff options
author | Graham Linden <none@none> | 2014-11-17 11:51:43 -0800 |
---|---|---|
committer | Graham Linden <none@none> | 2014-11-17 11:51:43 -0800 |
commit | c9b26b11e6131b7345c9e3c90d6fb9d410d58631 (patch) | |
tree | 9f4d1bb68d4636fe0a3a426d71fd1837209ae0a0 /indra/llrender | |
parent | 5bc81b116e5fd507991a27a6b601e21753130274 (diff) | |
parent | 9eeb8344a6dd8721ebc85463e966b05a9b034381 (diff) |
Merge avoiding use of timer query ARB extension when not available.
Diffstat (limited to 'indra/llrender')
-rwxr-xr-x | indra/llrender/llglslshader.cpp | 17 |
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); |