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=e968bd546dfc6d85b5b803d1a3f59f48e4f04205;hb=abc8459e18c5a7f8730c9493885fd067126520cb;hp=7af052e80e7082c20a07b3b6b2c397ab6aaf397e;hpb=9898539d73faa8f3eebc454f0084727479ef8ba9;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 7af052e..e968bd5 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 @@ -2,7 +2,7 @@ #define DALI_TEST_GRAPHICS_REFLECTION_H /* - * Copyright (c) 2021 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. @@ -26,26 +26,47 @@ namespace Dali class TestGraphicsReflection : public Graphics::Reflection { public: - TestGraphicsReflection(TestGlAbstraction& gl, Property::Array& vertexFormats, const Graphics::ProgramCreateInfo& createInfo, std::vector& customUniforms); + TestGraphicsReflection(TestGlAbstraction& gl, uint32_t program_id, 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; - std::vector GetSamplers() const override; - Graphics::ShaderLanguage GetLanguage() const override; + 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 + struct TestUniformInfo + { + std::string name{""}; // baseName in the case of arrays + Graphics::UniformClass uniformClass{Graphics::UniformClass::UNDEFINED}; + uint32_t binding{0u}; + uint32_t bufferIndex{0u}; + std::vector offsets{}; + std::vector locations{}; + uint32_t numElements{0u}; // 0 elements means this isn't an array; 1 element means this is an array of size 1 + Property::Type type; + }; + + struct TestUniformBlockInfo + { + std::string name{""}; + uint32_t descriptorSet{0u}; + uint32_t binding{0u}; + uint32_t size{0u}; + std::vector members{}; + }; + void SetAttributes(std::vector locations) { mAttributes.clear(); @@ -56,14 +77,17 @@ public: // Test methods } } - Dali::Property::Type GetMemberType(int blockIndex, int location) const; + const TestUniformBlockInfo& GetTestUniformBlock(uint32_t index) const + { + return mUniformBlocks[index]; + } 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 + TestUniformBlockInfo mDefaultUniformBlock{}; ///< The emulated UBO containing all the standalone uniforms + std::vector mUniformBlocks{}; ///< List of uniform blocks }; } // namespace Dali