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 | |
| parent | 5bc81b116e5fd507991a27a6b601e21753130274 (diff) | |
| parent | 9eeb8344a6dd8721ebc85463e966b05a9b034381 (diff) | |
Merge avoiding use of timer query ARB extension when not available.
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/llrender/llglslshader.cpp | 17 | ||||
| -rwxr-xr-x | indra/newview/llglsandbox.cpp | 14 | 
2 files changed, 26 insertions, 5 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); diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 4b8ac2b3cf..7cf17c90e9 100755 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -954,7 +954,7 @@ F32 gpu_benchmark()  	//make a dummy triangle to draw with  	LLPointer<LLVertexBuffer> buff = new LLVertexBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, GL_STATIC_DRAW_ARB); -	buff->allocateBuffer(3, 0, true); +	buff->allocateBuffer(12, 0, true);  	LLStrider<LLVector3> v;  	LLStrider<LLVector2> tc; @@ -964,6 +964,16 @@ F32 gpu_benchmark()  	v[0].set(-1,1,0);  	v[1].set(-1,-3,0);  	v[2].set(3,1,0); +	v[3].set(-1,1,0); +	v[4].set(-1,-3,0); +	v[5].set(3,1,0); +	v[6].set(-1,1,0); +	v[7].set(-1,-3,0); +	v[8].set(3,1,0); +	v[9].set(-1,1,0); +	v[10].set(-1,-3,0); +	v[11].set(3,1,0); +  	buff->flush();  	gBenchmarkProgram.bind(); @@ -983,7 +993,7 @@ F32 gpu_benchmark()  		{  			dest[i].bindTarget();  			gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, source[i]); -			buff->drawArrays(LLRender::TRIANGLES, 0, 3); +			buff->drawArrays(LLRender::TRIANGLES, 0, 12);  			dest[i].flush();  		} | 
