Update common test harness files for shader reflection 40/253940/1
authorRichard Huang <r.huang@samsung.com>
Fri, 19 Feb 2021 15:28:44 +0000 (15:28 +0000)
committerRichard Huang <r.huang@samsung.com>
Fri, 19 Feb 2021 15:28:44 +0000 (15:28 +0000)
Change-Id: Ib0d76e99d41df1f09377b35fd4a34a0430e5bf96

automated-tests/src/dali-scene-loader-internal/CMakeLists.txt
automated-tests/src/dali-scene-loader/CMakeLists.txt
automated-tests/src/dali-toolkit-internal/CMakeLists.txt
automated-tests/src/dali-toolkit-styling/CMakeLists.txt
automated-tests/src/dali-toolkit-third-party/CMakeLists.txt
automated-tests/src/dali-toolkit/CMakeLists.txt
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.h [new file with mode: 0644]

index f9de035..539bcd4 100755 (executable)
@@ -49,6 +49,7 @@ SET(TEST_HARNESS_SOURCES
   ${TEST_HARNESS_DIR}/test-graphics-texture.cpp
   ${TEST_HARNESS_DIR}/test-graphics-sampler.cpp
   ${TEST_HARNESS_DIR}/test-graphics-pipeline.cpp
   ${TEST_HARNESS_DIR}/test-graphics-texture.cpp
   ${TEST_HARNESS_DIR}/test-graphics-sampler.cpp
   ${TEST_HARNESS_DIR}/test-graphics-pipeline.cpp
+  ${TEST_HARNESS_DIR}/test-graphics-reflection.cpp
   ${TEST_HARNESS_DIR}/test-platform-abstraction.cpp
   ${TEST_HARNESS_DIR}/test-render-controller.cpp
   ${TEST_HARNESS_DIR}/test-trace-call-stack.cpp
   ${TEST_HARNESS_DIR}/test-platform-abstraction.cpp
   ${TEST_HARNESS_DIR}/test-render-controller.cpp
   ${TEST_HARNESS_DIR}/test-trace-call-stack.cpp
index 55ba896..6c44670 100755 (executable)
@@ -63,6 +63,7 @@ SET(TEST_HARNESS_SOURCES
   ${TEST_HARNESS_DIR}/test-graphics-texture.cpp
   ${TEST_HARNESS_DIR}/test-graphics-sampler.cpp
   ${TEST_HARNESS_DIR}/test-graphics-pipeline.cpp
   ${TEST_HARNESS_DIR}/test-graphics-texture.cpp
   ${TEST_HARNESS_DIR}/test-graphics-sampler.cpp
   ${TEST_HARNESS_DIR}/test-graphics-pipeline.cpp
+  ${TEST_HARNESS_DIR}/test-graphics-reflection.cpp
   ${TEST_HARNESS_DIR}/test-platform-abstraction.cpp
   ${TEST_HARNESS_DIR}/test-render-controller.cpp
   ${TEST_HARNESS_DIR}/test-trace-call-stack.cpp
   ${TEST_HARNESS_DIR}/test-platform-abstraction.cpp
   ${TEST_HARNESS_DIR}/test-render-controller.cpp
   ${TEST_HARNESS_DIR}/test-trace-call-stack.cpp
index 7d26e43..cd5e140 100755 (executable)
@@ -85,6 +85,7 @@ SET(TEST_HARNESS_SOURCES
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-texture.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-pipeline.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-texture.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-pipeline.cpp
+   ../dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-sampler.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-sampler.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
index 4c179b8..ebbc8cb 100644 (file)
@@ -51,6 +51,7 @@ SET(TEST_HARNESS_SOURCES
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-texture.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-pipeline.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-texture.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-pipeline.cpp
+   ../dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-sampler.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-sampler.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
index a4055b9..e8fa652 100644 (file)
@@ -38,6 +38,7 @@ SET(TEST_HARNESS_SOURCES
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-texture.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-sampler.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-pipeline.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-texture.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-sampler.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-graphics-pipeline.cpp
+   ../dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
    ../dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
index 072fecc..6dddc1a 100755 (executable)
@@ -115,6 +115,7 @@ SET(TEST_HARNESS_SOURCES
   dali-toolkit-test-utils/test-graphics-controller.cpp
   dali-toolkit-test-utils/test-graphics-texture.cpp
   dali-toolkit-test-utils/test-graphics-pipeline.cpp
   dali-toolkit-test-utils/test-graphics-controller.cpp
   dali-toolkit-test-utils/test-graphics-texture.cpp
   dali-toolkit-test-utils/test-graphics-pipeline.cpp
+  dali-toolkit-test-utils/test-graphics-reflection.cpp
   dali-toolkit-test-utils/test-graphics-sampler.cpp
   dali-toolkit-test-utils/test-platform-abstraction.cpp
   dali-toolkit-test-utils/test-render-controller.cpp
   dali-toolkit-test-utils/test-graphics-sampler.cpp
   dali-toolkit-test-utils/test-platform-abstraction.cpp
   dali-toolkit-test-utils/test-render-controller.cpp
index a8357c1..41d13c9 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "test-graphics-buffer.h"
 #include "test-graphics-command-buffer.h"
 
 #include "test-graphics-buffer.h"
 #include "test-graphics-command-buffer.h"
+#include "test-graphics-reflection.h"
 #include "test-graphics-sampler.h"
 #include "test-graphics-texture.h"
 
 #include "test-graphics-sampler.h"
 #include "test-graphics-texture.h"
 
@@ -766,6 +767,14 @@ const Graphics::TextureProperties& TestGraphicsController::GetTextureProperties(
   return textureProperties;
 }
 
   return textureProperties;
 }
 
+const Graphics::Reflection& TestGraphicsController::GetPipelineReflection(const Graphics::Pipeline& pipeline)
+{
+  static TestGraphicsReflection reflection(mGl);
+  mCallStack.PushCall("Controller::GetPipelineReflection", "");
+
+  return reflection;
+}
+
 bool TestGraphicsController::PipelineEquals(const Graphics::Pipeline& pipeline0, const Graphics::Pipeline& pipeline1) const
 {
   mCallStack.PushCall("Controller::PipelineEquals", "");
 bool TestGraphicsController::PipelineEquals(const Graphics::Pipeline& pipeline0, const Graphics::Pipeline& pipeline1) const
 {
   mCallStack.PushCall("Controller::PipelineEquals", "");
index e39c1a5..bf2ba21 100644 (file)
@@ -21,6 +21,7 @@
 #include "test-gl-abstraction.h"
 #include "test-gl-context-helper-abstraction.h"
 #include "test-gl-sync-abstraction.h"
 #include "test-gl-abstraction.h"
 #include "test-gl-context-helper-abstraction.h"
 #include "test-gl-sync-abstraction.h"
+#include "test-graphics-reflection.h"
 
 namespace Dali
 {
 
 namespace Dali
 {
@@ -267,6 +268,14 @@ public:
   const Graphics::TextureProperties& GetTextureProperties(const Graphics::Texture& texture) override;
 
   /**
   const Graphics::TextureProperties& GetTextureProperties(const Graphics::Texture& texture) override;
 
   /**
+   * @brief Returns the reflection of the given pipeline
+   *
+   * @param[in] pipeline The pipeline
+   * @return The reflection of the pipeline
+   */
+  const Graphics::Reflection& GetPipelineReflection(const Graphics::Pipeline& pipeline) override;
+
+  /**
    * @brief Tests whether two Pipelines are the same.
    *
    * On the higher level, this function may help wit creating pipeline cache.
    * @brief Tests whether two Pipelines are the same.
    *
    * On the higher level, this function may help wit creating pipeline cache.
diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-graphics-reflection.cpp
new file mode 100644 (file)
index 0000000..9bce79a
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2021 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "test-graphics-reflection.h"
+
+namespace Dali
+{
+TestGraphicsReflection::TestGraphicsReflection(TestGlAbstraction& gl)
+: mGl(gl)
+{
+}
+
+uint32_t TestGraphicsReflection::GetVertexAttributeLocation(const std::string& name) const
+{
+  return 0u;
+}
+
+Dali::Graphics::VertexInputAttributeFormat TestGraphicsReflection::GetVertexAttributeFormat(uint32_t location) const
+{
+  return Dali::Graphics::VertexInputAttributeFormat{};
+}
+
+std::string TestGraphicsReflection::GetVertexAttributeName(uint32_t location) const
+{
+  return 0u;
+}
+
+std::vector<uint32_t> TestGraphicsReflection::GetVertexAttributeLocations() const
+{
+  return std::vector<uint32_t>{};
+}
+
+uint32_t TestGraphicsReflection::GetUniformBlockCount() const
+{
+  return 0u;
+}
+
+uint32_t TestGraphicsReflection::GetUniformBlockBinding(uint32_t index) const
+{
+  return 0u;
+}
+
+uint32_t TestGraphicsReflection::GetUniformBlockSize(uint32_t index) const
+{
+  return 0u;
+}
+
+bool TestGraphicsReflection::GetUniformBlock(uint32_t index, Dali::Graphics::UniformBlockInfo& out) const
+{
+  return true;
+}
+
+std::vector<uint32_t> TestGraphicsReflection::GetUniformBlockLocations() const
+{
+  return std::vector<uint32_t>{};
+}
+
+std::string TestGraphicsReflection::GetUniformBlockName(uint32_t blockIndex) const
+{
+  return std::string{};
+}
+
+uint32_t TestGraphicsReflection::GetUniformBlockMemberCount(uint32_t blockIndex) const
+{
+  return 0u;
+}
+
+std::string TestGraphicsReflection::GetUniformBlockMemberName(uint32_t blockIndex, uint32_t memberLocation) const
+{
+  return std::string{};
+}
+
+uint32_t TestGraphicsReflection::GetUniformBlockMemberOffset(uint32_t blockIndex, uint32_t memberLocation) const
+{
+  return 0u;
+}
+
+bool TestGraphicsReflection::GetNamedUniform(const std::string& name, Dali::Graphics::UniformInfo& out) const
+{
+  return true;
+}
+
+std::vector<Dali::Graphics::UniformInfo> TestGraphicsReflection::GetSamplers() const
+{
+  return std::vector<Dali::Graphics::UniformInfo>{};
+}
+
+Graphics::ShaderLanguage TestGraphicsReflection::GetLanguage() const
+{
+  return Graphics::ShaderLanguage::GLSL_3_1;
+}
+
+} // namespace Dali
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
new file mode 100644 (file)
index 0000000..1c9f62b
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef DALI_TEST_GRAPHICS_REFLECTION_H
+#define DALI_TEST_GRAPHICS_REFLECTION_H
+
+/*
+ * Copyright (c) 2021 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <dali/graphics-api/graphics-reflection.h>
+#include "test-gl-abstraction.h"
+
+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<uint32_t>                      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<uint32_t>                      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<Dali::Graphics::UniformInfo>   GetSamplers() const override;
+  Graphics::ShaderLanguage                   GetLanguage() const override;
+
+  TestGlAbstraction& mGl;
+};
+
+} // namespace Dali
+
+#endif //DALI_TEST_GRAPHICS_REFLECTION_H