X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-gl-abstraction.cpp;h=7a31046b7b1dbf188463146ea0c46b62ac2c9ee0;hb=ca51ee97baf5f41ecf741e22d865ff6c9e0bf769;hp=3fa897afcb50a8b87ef72814d3ed4429f194e4ce;hpb=d5e3ed5f5b1c8fdba3ae97ead8729620f54b3836;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp index 3fa897a..7a31046 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,46 +16,70 @@ */ #include "test-gl-abstraction.h" +#include "test-trace-call-stack.h" + +static const bool TRACE{ + false}; namespace Dali { - TestGlAbstraction::TestGlAbstraction() +: mBufferTrace(TRACE, std::string("gl")), + mCullFaceTrace(TRACE, "gl"), + mEnableDisableTrace(TRACE, "gl"), + mShaderTrace(TRACE, "gl"), + mTextureTrace(TRACE, std::string("gl")), + mTexParameterTrace(TRACE, "gl"), + mDrawTrace(TRACE, "gl"), + mDepthFunctionTrace(TRACE, "gl"), + mStencilFunctionTrace(TRACE, "gl"), + mScissorTrace(TRACE, "gl"), + mSetUniformTrace(TRACE, "Uniform "), + mViewportTrace(TRACE, "gl") { Initialize(); } -TestGlAbstraction::~TestGlAbstraction() {} +TestGlAbstraction::~TestGlAbstraction() +{ +} void TestGlAbstraction::Initialize() { - mCurrentProgram = 0; - mCompileStatus = GL_TRUE; - mLinkStatus = GL_TRUE; - - mGetAttribLocationResult = 0; - mGetErrorResult = 0; - mGetStringResult = NULL; - mIsBufferResult = 0; - mIsEnabledResult = 0; - mIsFramebufferResult = 0; - mIsProgramResult = 0; - mIsRenderbufferResult = 0; - mIsShaderResult = 0; - mIsTextureResult = 0; - mVertexAttribArrayChanged = false; + mCurrentProgram = 0; + mCompileStatus = GL_TRUE; + mLinkStatus = GL_TRUE; + mGetErrorResult = 0; + mGetStringResult = NULL; + mIsBufferResult = 0; + mIsEnabledResult = 0; + mIsFramebufferResult = 0; + mIsProgramResult = 0; + mIsRenderbufferResult = 0; + mIsShaderResult = 0; + mIsTextureResult = 0; + mActiveTextureUnit = 0; + mCheckFramebufferStatusResult = 0; + mFramebufferStatus = 0; + mFramebufferDepthAttached = 0; + mFramebufferStencilAttached = 0; + mFramebufferDepthStencilAttached = 0; + mFramebufferColorAttachmentCount = 0; + mFrameBufferColorStatus = 0; + mFramebufferDepthAttachmentCount = 0; + mFramebufferStencilAttachmentCount = 0; + mFramebufferDepthStencilAttachmentCount = 0; + mNumBinaryFormats = 0; + mBinaryFormats = 0; + mProgramBinaryLength = 0; - mCheckFramebufferStatusResult = 0; - mNumBinaryFormats = 1; - mBinaryFormats = 1; - mProgramBinaryLength = 0; - - mLastAutoTextureIdUsed = 0; + mVertexAttribArrayChanged = false; + mGetProgramBinaryCalled = false; - mLastShaderIdUsed = 0; - mLastProgramIdUsed = 0; - mLastUniformIdUsed = 0; mLastShaderCompiled = 0; + mLastClearBitMask = 0; + mLastClearColor = Color::TRANSPARENT; + mClearCount = 0; mLastBlendEquationRgb = 0; mLastBlendEquationAlpha = 0; @@ -63,6 +87,12 @@ void TestGlAbstraction::Initialize() mLastBlendFuncDstRgb = 0; mLastBlendFuncSrcAlpha = 0; mLastBlendFuncDstAlpha = 0; + mLastAutoTextureIdUsed = 0; + mNumGeneratedTextures = 0; + mLastShaderIdUsed = 0; + mLastProgramIdUsed = 0; + mLastUniformIdUsed = 0; + mLastDepthMask = false; mUniforms.clear(); mProgramUniforms1i.clear(); @@ -70,9 +100,98 @@ void TestGlAbstraction::Initialize() mProgramUniforms2f.clear(); mProgramUniforms3f.clear(); mProgramUniforms4f.clear(); + + mAttribLocs.clear(); + mAttribLocs.push_back("aPosition"); + mAttribLocs.push_back("aTexCoord"); + mCullFaceTrace.Reset(); + mDepthFunctionTrace.Reset(); + mEnableDisableTrace.Reset(); + mShaderTrace.Reset(); + mStencilFunctionTrace.Reset(); + mScissorTrace.Reset(); + mTextureTrace.Reset(); + mTexParameterTrace.Reset(); + mDrawTrace.Reset(); + + for(unsigned int i = 0; i < MAX_ATTRIBUTE_CACHE_SIZE; ++i) + { + mVertexAttribArrayState[i] = false; + } + + mActiveUniforms = std::vector{ + {"uRendererColor", GL_FLOAT, 1}, + {"uCustom", GL_FLOAT_VEC3, 1}, + {"uCustom3", GL_FLOAT_VEC3, 1}, + {"uFadeColor", GL_FLOAT_VEC4, 1}, + {"uUniform1", GL_FLOAT_VEC4, 1}, + {"uUniform2", GL_FLOAT_VEC4, 1}, + {"uUniform3", GL_FLOAT_VEC4, 1}, + {"uFadeProgress", GL_FLOAT, 1}, + {"uANormalMatrix", GL_FLOAT_MAT3, 1}, + {"sEffect", GL_SAMPLER_2D, 1}, + {"sTexture", GL_SAMPLER_2D, 1}, + {"sTextureRect", GL_SAMPLER_2D, 1}, + {"sGloss", GL_SAMPLER_2D, 1}, + {"uColor", GL_FLOAT_VEC4, 1}, + {"uActorColor", GL_FLOAT_VEC4, 1}, + {"uModelMatrix", GL_FLOAT_MAT4, 1}, + {"uModelView", GL_FLOAT_MAT4, 1}, + {"uMvpMatrix", GL_FLOAT_MAT4, 1}, + {"uNormalMatrix", GL_FLOAT_MAT4, 1}, + {"uProjection", GL_FLOAT_MAT4, 1}, + {"uSize", GL_FLOAT_VEC3, 1}, + {"uViewMatrix", GL_FLOAT_MAT4, 1}, + {"uLightCameraProjectionMatrix", GL_FLOAT_MAT4, 1}, + {"uLightCameraViewMatrix", GL_FLOAT_MAT4, 1}}; + + // WARNING: IF YOU CHANGE THIS LIST, ALSO CHANGE UNIFORMS IN test-graphics-reflection.cpp +} + +void TestGlAbstraction::PreRender() +{ +} + +void TestGlAbstraction::PostRender() +{ +} + +bool TestGlAbstraction::IsSurfacelessContextSupported() const +{ + return true; +} + +bool TestGlAbstraction::IsAdvancedBlendEquationSupported() +{ + return true; +} + +bool TestGlAbstraction::IsBlendEquationSupported(DevelBlendEquation::Type blendEquation) +{ + return true; +} + +std::string TestGlAbstraction::GetShaderVersionPrefix() +{ + return std::string(""); +} + +std::string TestGlAbstraction::GetVertexShaderPrefix() +{ + return std::string(""); +} + +std::string TestGlAbstraction::GetFragmentShaderPrefix() +{ + return std::string(""); +} + +bool TestGlAbstraction::TextureRequiresConverting(const GLenum imageGlFormat, const GLenum textureGlFormat, const bool isSubImage) const +{ + return ((imageGlFormat == GL_RGB) && (textureGlFormat == GL_RGBA)); } -} // Namespace dali +} // namespace Dali bool BlendEnabled(const Dali::TraceCallStack& callStack) {