// EXTERNAL INCLUDES
#include <sstream>
#include <string>
+#include <cstring>
#include <map>
#include <cstdio>
#include <cstring> // for strcmp
inline void DeleteTextures(GLsizei n, const GLuint* textures)
{
std::stringstream out;
- out << n << ", " << textures << " = [" ;
+ out << n << ", " << textures << " = [";
for(GLsizei i=0; i<n; i++)
{
- out << textures[i] << ", " ;
+ out << textures[i] << ", ";
mDeletedTextureIds.push_back(textures[i]);
}
out << "]";
inline void DepthFunc(GLenum func)
{
+ std::stringstream out;
+ out << func;
+ mDepthFunctionTrace.PushCall("DepthFunc", out.str());
}
inline void DepthMask(GLboolean flag)
{
std::stringstream out;
out << cap;
- mCullFaceTrace.PushCall("Disable", out.str());
+ mEnableDisableTrace.PushCall("Disable", out.str());
}
inline void DisableVertexAttribArray(GLuint index)
{
std::stringstream out;
out << cap;
- mCullFaceTrace.PushCall("Enable", out.str());
+ mEnableDisableTrace.PushCall("Enable", out.str());
}
inline void EnableVertexAttribArray(GLuint index)
inline void GenerateMipmap(GLenum target)
{
+ std::stringstream out;
+ out<<target;
+ mTextureTrace.PushCall("GenerateMipmap", out.str());
}
inline void GenFramebuffers(GLsizei n, GLuint* framebuffers)
inline void GetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
{
+ switch(index)
+ {
+ case 0:
+ *length = snprintf(name, bufsize, "sTexture");
+ *type = GL_SAMPLER_2D;
+ *size = 1;
+ break;
+ case 1:
+ *length = snprintf(name, bufsize, "sEffect");
+ *type = GL_SAMPLER_2D;
+ *size = 1;
+ break;
+ default:
+ break;
+ }
}
inline void GetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
inline void GetProgramiv(GLuint program, GLenum pname, GLint* params)
{
- switch( pname ) {
+ switch( pname )
+ {
case GL_LINK_STATUS:
*params = mLinkStatus;
break;
case GL_PROGRAM_BINARY_LENGTH_OES:
*params = mProgramBinaryLength;
break;
+ case GL_ACTIVE_UNIFORMS:
+ *params = mNumberOfActiveUniforms;
+ break;
+ case GL_ACTIVE_UNIFORM_MAX_LENGTH:
+ *params = 100;
+ break;
}
}
{
}
-
inline void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
{
}
std::stringstream out;
out << program;
mShaderTrace.PushCall("LinkProgram", out.str());
+
+ mNumberOfActiveUniforms=2;
+ GetUniformLocation(program, "sTexture");
+ GetUniformLocation(program, "sEffect");
}
inline void PixelStorei(GLenum pname, GLint param)
inline void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels)
{
std::stringstream out;
- out << width << ", " << height;
+ out << target<<", "<<level<<", "<<width << ", " << height;
mTextureTrace.PushCall("TexImage2D", out.str());
}
inline void TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels)
{
std::stringstream out;
- out << xoffset << ", " << yoffset << ", " << width << ", " << height;
+ out << target << ", "<<level <<", " << xoffset << ", " << yoffset << ", " << width << ", " << height;
mTextureTrace.PushCall("TexSubImage2D", out.str());
}
inline void ResetCullFaceCallStack() { mCullFaceTrace.Reset(); }
inline TraceCallStack& GetCullFaceTrace() { return mCullFaceTrace; }
+ //Methods for Enable/Disable call verification
+ inline void EnableEnableDisableCallTrace(bool enable) { mEnableDisableTrace.Enable(enable); }
+ inline void ResetEnableDisableCallStack() { mEnableDisableTrace.Reset(); }
+ inline TraceCallStack& GetEnableDisableTrace() { return mEnableDisableTrace; }
+
//Methods for Shader verification
inline void EnableShaderCallTrace(bool enable) { mShaderTrace.Enable(enable); }
inline void ResetShaderCallStack() { mShaderTrace.Reset(); }
inline void ResetDrawCallStack() { mDrawTrace.Reset(); }
inline TraceCallStack& GetDrawTrace() { return mDrawTrace; }
+ //Methods for Depth function verification
+ inline void EnableDepthFunctionCallTrace(bool enable) { mDepthFunctionTrace.Enable(enable); }
+ inline void ResetDepthFunctionCallStack() { mDepthFunctionTrace.Reset(); }
+ inline TraceCallStack& GetDepthFunctionTrace() { return mDepthFunctionTrace; }
+
template <typename T>
inline bool GetUniformValue( const char* name, T& value ) const
{
return false;
}
-
-
inline GLuint GetLastShaderCompiled() const
{
return mLastShaderCompiled;
BufferDataCalls mBufferDataCalls;
BufferSubDataCalls mBufferSubDataCalls;
GLuint mLinkStatus;
+ GLint mNumberOfActiveUniforms;
GLint mGetAttribLocationResult;
GLenum mGetErrorResult;
GLubyte* mGetStringResult;
ActiveTextureType mActiveTextures[ MIN_TEXTURE_UNIT_LIMIT ];
TraceCallStack mCullFaceTrace;
+ TraceCallStack mEnableDisableTrace;
TraceCallStack mShaderTrace;
TraceCallStack mTextureTrace;
TraceCallStack mTexParamaterTrace;
TraceCallStack mDrawTrace;
+ TraceCallStack mDepthFunctionTrace;
// Shaders & Uniforms
GLuint mLastShaderIdUsed;