From dbd014c2a4726918d2481f8b8aecc7fc0791168e Mon Sep 17 00:00:00 2001 From: Kimmo Hoikka Date: Fri, 14 Nov 2014 16:29:42 +0000 Subject: [PATCH] Track ActiveTexture calls Change-Id: Ia362ddb179274d02c432a149560c73cfb24b6413 --- adaptors/common/gl/gl-proxy-implementation.cpp | 10 ++++++++++ adaptors/common/gl/gl-proxy-implementation.h | 3 +++ 2 files changed, 13 insertions(+) diff --git a/adaptors/common/gl/gl-proxy-implementation.cpp b/adaptors/common/gl/gl-proxy-implementation.cpp index e69086e..24d070f 100644 --- a/adaptors/common/gl/gl-proxy-implementation.cpp +++ b/adaptors/common/gl/gl-proxy-implementation.cpp @@ -125,6 +125,7 @@ float Sampler::GetMax() const GlProxyImplementation::GlProxyImplementation(EnvironmentOptions& environmentOptions) : mEnvironmentOptions(environmentOptions), + mActiveTextureSampler( "ActiveTexture calls"), mClearSampler("Clear calls"), mBindBufferSampler( "Bind buffers"), mBindTextureSampler( "Bind textures"), @@ -159,6 +160,12 @@ void GlProxyImplementation::PostRender( unsigned int timeDelta ) } } +void GlProxyImplementation::ActiveTexture( GLenum texture ) +{ + mActiveTextureSampler.Increment(); + GlImplementation::ActiveTexture(texture); +} + void GlProxyImplementation::Clear( GLbitfield mask ) { mClearSampler.Increment(); @@ -312,6 +319,7 @@ void GlProxyImplementation::UseProgram( GLuint program ) void GlProxyImplementation::AccumulateSamples() { // Accumulate counts in each sampler + mActiveTextureSampler.Accumulate(); mClearSampler.Accumulate(); mBindBufferSampler.Accumulate(); mBindTextureSampler.Accumulate(); @@ -323,6 +331,7 @@ void GlProxyImplementation::AccumulateSamples() void GlProxyImplementation::LogResults() { Debug::LogMessage( Debug::DebugInfo, "OpenGL ES statistics sampled over %d frames) operations per frame:\n", mFrameCount ); + LogCalls( mActiveTextureSampler ); LogCalls( mClearSampler ); LogCalls( mBindBufferSampler ); LogCalls( mBindTextureSampler ); @@ -341,6 +350,7 @@ void GlProxyImplementation::LogCalls( const Sampler& sampler ) void GlProxyImplementation::ResetSamplers() { + mActiveTextureSampler.Reset(); mClearSampler.Reset(); mBindBufferSampler.Reset(); mBindTextureSampler.Reset(); diff --git a/adaptors/common/gl/gl-proxy-implementation.h b/adaptors/common/gl/gl-proxy-implementation.h index c499678..43cefcf 100644 --- a/adaptors/common/gl/gl-proxy-implementation.h +++ b/adaptors/common/gl/gl-proxy-implementation.h @@ -124,6 +124,8 @@ public: virtual void PostRender( unsigned int timeDelta ); /* OpenGL ES 2.0 API */ + virtual void ActiveTexture(GLenum texture); + virtual void Clear( GLbitfield mask ); virtual void BindBuffer( GLenum target, GLuint buffer ); @@ -164,6 +166,7 @@ private: // Helpers private: // Data EnvironmentOptions& mEnvironmentOptions; + Sampler mActiveTextureSampler; Sampler mClearSampler; Sampler mBindBufferSampler; Sampler mBindTextureSampler; -- 2.7.4