X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-graphics-reflection.h;h=2147cae498405765ab35dc09cfd4408d8f0665e9;hb=d6e2f99851ab626fdb78e426498ff9ada6d298b8;hp=1c9f62b3093d64c7d84e2a545a229b78d9f01497;hpb=f1150c8895518f78f8c2b9c4cb1464ffaffdf16e;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.h index 1c9f62b..2147cae 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.h @@ -17,6 +17,7 @@ * limitations under the License. */ +#include #include #include "test-gl-abstraction.h" @@ -25,26 +26,44 @@ namespace Dali class TestGraphicsReflection : public Graphics::Reflection { public: - TestGraphicsReflection(TestGlAbstraction& gl); - - uint32_t GetVertexAttributeLocation(const std::string& name) const override; - Dali::Graphics::VertexInputAttributeFormat GetVertexAttributeFormat(uint32_t location) const override; - std::string GetVertexAttributeName(uint32_t location) const override; - std::vector GetVertexAttributeLocations() const override; - uint32_t GetUniformBlockCount() const override; - uint32_t GetUniformBlockBinding(uint32_t index) const override; - uint32_t GetUniformBlockSize(uint32_t index) const override; - bool GetUniformBlock(uint32_t index, Dali::Graphics::UniformBlockInfo& out) const override; - std::vector GetUniformBlockLocations() const override; - std::string GetUniformBlockName(uint32_t blockIndex) const override; - uint32_t GetUniformBlockMemberCount(uint32_t blockIndex) const override; - std::string GetUniformBlockMemberName(uint32_t blockIndex, uint32_t memberLocation) const override; - uint32_t GetUniformBlockMemberOffset(uint32_t blockIndex, uint32_t memberLocation) const override; - bool GetNamedUniform(const std::string& name, Dali::Graphics::UniformInfo& out) const override; - std::vector GetSamplers() const override; - Graphics::ShaderLanguage GetLanguage() const override; - - TestGlAbstraction& mGl; + TestGraphicsReflection(TestGlAbstraction& gl, Property::Array& vertexFormats, const Graphics::ProgramCreateInfo& createInfo, std::vector& customUniforms); + + uint32_t GetVertexAttributeLocation(const std::string& name) const override; + Dali::Graphics::VertexInputAttributeFormat GetVertexAttributeFormat(uint32_t location) const override; + std::string GetVertexAttributeName(uint32_t location) const override; + std::vector GetVertexAttributeLocations() const override; + uint32_t GetUniformBlockCount() const override; + uint32_t GetUniformBlockBinding(uint32_t index) const override; + uint32_t GetUniformBlockSize(uint32_t index) const override; + bool GetUniformBlock(uint32_t index, Dali::Graphics::UniformBlockInfo& out) const override; + std::vector GetUniformBlockLocations() const override; + std::string GetUniformBlockName(uint32_t blockIndex) const override; + uint32_t GetUniformBlockMemberCount(uint32_t blockIndex) const override; + std::string GetUniformBlockMemberName(uint32_t blockIndex, uint32_t memberLocation) const override; + uint32_t GetUniformBlockMemberOffset(uint32_t blockIndex, uint32_t memberLocation) const override; + bool GetNamedUniform(const std::string& name, Dali::Graphics::UniformInfo& out) const override; + const std::vector& GetSamplers() const override; + Graphics::ShaderLanguage GetLanguage() const override; + +public: // Test methods + void SetAttributes(std::vector locations) + { + mAttributes.clear(); + mAttributes.resize(locations.size()); + for(auto& location : locations) + { + mAttributes.push_back(location); + } + } + + Dali::Property::Type GetMemberType(int blockIndex, int location) const; + + TestGlAbstraction& mGl; + mutable std::vector mAttributes; + std::vector mCustomUniforms; + + Graphics::UniformBlockInfo mDefaultUniformBlock{}; ///< The emulated UBO containing all the standalone uniforms + std::vector mUniformBlocks{}; ///< List of uniform blocks }; } // namespace Dali