X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-gl-abstraction.h;h=93578038af8ba42d37ae92f54aa8ea214e59685d;hb=a86830e673420d0fd7fb3e1ccbca603038b6b009;hp=b414084f4e682a49fe1dd0693fada84bdb1b2aec;hpb=bed9d1fafb2def9ec59d67277a4935a9f7fcbdd1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.h index b414084..9357803 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.h @@ -38,6 +38,17 @@ namespace Dali { +struct UniformData +{ + std::string name; + Property::Type type; + UniformData(const std::string& name, Property::Type type = Property::Type::NONE) + : name(name), + type(type) + { + } +}; + class DALI_CORE_API TestGlAbstraction : public Dali::Integration::GlAbstraction { public: @@ -157,10 +168,10 @@ public: } std::stringstream out; - out << target << ", " << texture; + out << std::hex << target << ", " << std::dec << texture; TraceCallStack::NamedParams namedParams; - namedParams["target"] << target; + namedParams["target"] << std::hex << target; namedParams["texture"] << texture; mTextureTrace.PushCall("BindTexture", out.str(), namedParams); @@ -407,10 +418,10 @@ public: inline void CullFace(GLenum mode) override { std::stringstream out; - out << mode; + out << std::hex << mode; TraceCallStack::NamedParams namedParams; - namedParams["program"] << mode; + namedParams["mode"] << std::hex << mode; mCullFaceTrace.PushCall("CullFace", out.str(), namedParams); } @@ -498,7 +509,7 @@ public: inline void DepthFunc(GLenum func) override { std::stringstream out; - out << func; + out << std::hex << func; TraceCallStack::NamedParams namedParams; namedParams["func"] << std::hex << func; @@ -533,7 +544,7 @@ public: inline void Disable(GLenum cap) override { std::stringstream out; - out << cap; + out << std::hex << cap; TraceCallStack::NamedParams namedParams; namedParams["cap"] << std::hex << cap; mEnableDisableTrace.PushCall("Disable", out.str(), namedParams); @@ -576,7 +587,7 @@ public: inline void Enable(GLenum cap) override { std::stringstream out; - out << cap; + out << std::hex << cap; TraceCallStack::NamedParams namedParams; namedParams["cap"] << std::hex << cap; mEnableDisableTrace.PushCall("Enable", out.str(), namedParams); @@ -631,6 +642,7 @@ public: inline void FrontFace(GLenum mode) override { + // do nothing } inline void GenBuffers(GLsizei n, GLuint* buffers) override @@ -830,6 +842,9 @@ public: case GL_ACTIVE_UNIFORM_MAX_LENGTH: *params = 100; break; + case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: + *params = 100; + break; } } @@ -895,7 +910,7 @@ public: if(it2 == uniformIDs.end()) { // Uniform not found, so add it... - uniformIDs[name] = ++mLastUniformIdUsed; + uniformIDs[name] = mLastUniformIdUsed++; return mLastUniformIdUsed; } @@ -967,9 +982,35 @@ public: mShaderTrace.PushCall("LinkProgram", out.str(), namedParams); mNumberOfActiveUniforms = 3; - GetUniformLocation(program, "sTexture"); + + GetUniformLocation(program, "uRendererColor"); + GetUniformLocation(program, "uCustom"); + GetUniformLocation(program, "uCustom3"); + GetUniformLocation(program, "uFadeColor"); + GetUniformLocation(program, "uUniform1"); + GetUniformLocation(program, "uUniform2"); + GetUniformLocation(program, "uUniform3"); + GetUniformLocation(program, "uFadeProgress"); + GetUniformLocation(program, "uANormalMatrix"); GetUniformLocation(program, "sEffect"); + GetUniformLocation(program, "sTexture"); + GetUniformLocation(program, "sTextureRect"); GetUniformLocation(program, "sGloss"); + GetUniformLocation(program, "uColor"); + GetUniformLocation(program, "uModelMatrix"); + GetUniformLocation(program, "uModelView"); + GetUniformLocation(program, "uMvpMatrix"); + GetUniformLocation(program, "uNormalMatrix"); + GetUniformLocation(program, "uProjection"); + GetUniformLocation(program, "uSize"); + GetUniformLocation(program, "uViewMatrix"); + GetUniformLocation(program, "uLightCameraProjectionMatrix"); + GetUniformLocation(program, "uLightCameraViewMatrix"); + + for(const auto& uniform : mCustomUniformData) + { + GetUniformLocation(program, uniform.name.c_str()); + } } inline void PixelStorei(GLenum pname, GLint param) override @@ -1177,16 +1218,10 @@ public: out << std::hex << target << ", " << pname << ", " << param; std::string params = out.str(); - out.str(""); - out << std::hex << target; TraceCallStack::NamedParams namedParams; - namedParams["target"] << out.str(); - out.str(""); - out << std::hex << pname; - namedParams["pname"] << out.str(); - out.str(""); - out << std::hex << param; - namedParams["param"] << out.str(); + namedParams["target"] << std::hex << target; + namedParams["pname"] << std::hex << pname; + namedParams["param"] << param; mTexParameterTrace.PushCall("TexParameteri", params, namedParams); } @@ -1579,7 +1614,12 @@ public: inline GLboolean UnmapBuffer(GLenum target) override { - return false; + if(mMappedBuffer) + { + free(mMappedBuffer); + mMappedBuffer = nullptr; + } + return true; // false indicates corruption, nothing else. } inline void GetBufferPointerv(GLenum target, GLenum pname, GLvoid** params) override @@ -1628,7 +1668,8 @@ public: inline GLvoid* MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) override { - return NULL; + mMappedBuffer = reinterpret_cast(malloc(offset + length)); + return mMappedBuffer; } inline void FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) override @@ -2266,7 +2307,7 @@ public: // TEST FUNCTIONS } } - fprintf(stderr, "Not found, printing possible values:\n"); + fprintf(stderr, "%s Not found, printing possible values:\n", name); for(ProgramUniformMap::const_iterator program_it = mUniforms.begin(); program_it != mUniforms.end(); ++program_it) @@ -2285,7 +2326,7 @@ public: // TEST FUNCTIONS if(mProgramUniforms.GetUniformValue(programId, uniformId, origValue)) { std::stringstream out; - out << uniform_it->first << ": " << origValue; + out << "Program: " << programId << ", " << uniform_it->first << ": " << origValue; fprintf(stderr, "%s\n", out.str().c_str()); } } @@ -2319,6 +2360,11 @@ public: // TEST FUNCTIONS return false; } + inline void SetCustomUniforms(std::vector& customUniformData) + { + mCustomUniformData = customUniformData; + } + inline GLuint GetLastShaderCompiled() const { return mLastShaderCompiled; @@ -2424,6 +2470,7 @@ private: GLuint mCompileStatus; BufferDataCalls mBufferDataCalls; BufferSubDataCalls mBufferSubDataCalls; + GLvoid* mMappedBuffer{nullptr}; GLuint mLinkStatus; GLint mNumberOfActiveUniforms; GLenum mGetErrorResult; @@ -2495,12 +2542,14 @@ private: // Shaders & Uniforms GLuint mLastShaderIdUsed; - GLuint mLastProgramIdUsed; + GLuint mLastProgramIdUsed{0u}; GLuint mLastUniformIdUsed; typedef std::map UniformIDMap; typedef std::map ProgramUniformMap; ProgramUniformMap mUniforms; + std::vector mCustomUniformData{}; + template struct ProgramUniformValue : public std::map > {