X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-graphics-controller.h;h=803678e218190e76577d294ef015110ec9918cac;hb=e2640d747fd9fce8c06a1c5e1ddcbc39838d3916;hp=e39c1a5c7910675516c78c4dead51dc3f6d87d00;hpb=bed9d1fafb2def9ec59d67277a4935a9f7fcbdd1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.h index e39c1a5..803678e 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.h @@ -21,6 +21,8 @@ #include "test-gl-abstraction.h" #include "test-gl-context-helper-abstraction.h" #include "test-gl-sync-abstraction.h" +#include "test-graphics-program.h" +#include "test-graphics-reflection.h" namespace Dali { @@ -85,6 +87,16 @@ public: void Resume() override; /** + * @brief Lifecycle shutdown event + */ + void Shutdown() override; + + /** + * @brief Lifecycle destroy event + */ + void Destroy() override; + + /** * @brief Executes batch update of textures * * This function may perform full or partial update of many textures. @@ -175,6 +187,14 @@ public: Graphics::UniquePtr CreatePipeline(const Graphics::PipelineCreateInfo& pipelineCreateInfo, Graphics::UniquePtr&& oldPipeline) override; /** + * @brief Creates new Program object + * + * @param[in] programCreateInfo The valid ProgramCreateInfo structure + * @return pointer to the Program object + */ + Graphics::UniquePtr CreateProgram(const Graphics::ProgramCreateInfo& programCreateInfo, Graphics::UniquePtr&& oldProgram) override; + + /** * @brief Creates new Shader object * * @param[in] shaderCreateInfo The valid ShaderCreateInfo structure @@ -267,6 +287,14 @@ public: const Graphics::TextureProperties& GetTextureProperties(const Graphics::Texture& texture) override; /** + * @brief Returns the reflection of the given program + * + * @param[in] program The program + * @return The reflection of the program + */ + const Graphics::Reflection& GetProgramReflection(const Graphics::Program& program) override; + + /** * @brief Tests whether two Pipelines are the same. * * On the higher level, this function may help wit creating pipeline cache. @@ -275,9 +303,38 @@ public: */ bool PipelineEquals(const Graphics::Pipeline& pipeline0, const Graphics::Pipeline& pipeline1) const override; +public: // Test Functions + void SetVertexFormats(Property::Array& vfs) + { + mVertexFormats = vfs; + } + + void AddCustomUniforms(std::vector& customUniforms) + { + mCustomUniforms = customUniforms; + } + + void ClearSubmitStack() + { + mSubmitStack.clear(); + } + + /** + * @brief Retrieves program parameters + * + * This function can be used to retrieve data from internal implementation + * + * @param[in] program Valid program object + * @param[in] parameterId Integer parameter id + * @param[out] outData Pointer to output memory + * @return True on success + */ + bool GetProgramParameter(Graphics::Program& program, uint32_t parameterId, void* outData) override; + public: - mutable TraceCallStack mCallStack; - mutable TraceCallStack mCommandBufferCallStack; + mutable TraceCallStack mCallStack; + mutable TraceCallStack mCommandBufferCallStack; + mutable std::vector mSubmitStack; TestGlAbstraction mGl; TestGlSyncAbstraction mGlSyncAbstraction; @@ -285,6 +342,17 @@ public: bool isDiscardQueueEmptyResult{true}; bool isDrawOnResumeRequiredResult{true}; + + Property::Array mVertexFormats; + + struct ProgramCache + { + std::map> shaders; + TestGraphicsProgramImpl* programImpl; + }; + std::vector mProgramCache; + + std::vector mCustomUniforms; }; } // namespace Dali