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=6a219d0bbcfd016e24b5466d5fb1a666c92feae5;hp=9311e07b232806cd6b2ea17b68aed60042dcc902;hpb=214aac69c6f01cd0544afe05e4c4d7060092b190;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 9311e07..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. @@ -17,6 +17,7 @@ * limitations under the License. */ +#include #include #include "test-gl-abstraction.h" @@ -25,26 +26,47 @@ namespace Dali class TestGraphicsReflection : public Graphics::Reflection { public: - TestGraphicsReflection(TestGlAbstraction& gl, Property::Array& vertexFormats); + 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(); @@ -55,8 +77,17 @@ public: // Test methods } } + const TestUniformBlockInfo& GetTestUniformBlock(uint32_t index) const + { + return mUniformBlocks[index]; + } + TestGlAbstraction& mGl; mutable std::vector mAttributes; + std::vector mCustomUniforms; + + TestUniformBlockInfo mDefaultUniformBlock{}; ///< The emulated UBO containing all the standalone uniforms + std::vector mUniformBlocks{}; ///< List of uniform blocks }; } // namespace Dali