ShaderRenderCase: Remove template argument from the ShaderRenderCase
authorPeter Gal <pgal.u-szeged@partner.samsung.com>
Thu, 17 Sep 2015 15:26:15 +0000 (17:26 +0200)
committerPeter Gal <pgal.u-szeged@partner.samsung.com>
Thu, 12 Nov 2015 18:52:43 +0000 (19:52 +0100)
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderDiscardTests.cpp
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp

index cd7834e..819e5c6 100644 (file)
@@ -111,7 +111,7 @@ ShaderDiscardCaseInstance::~ShaderDiscardCaseInstance (void)
        }
 }
 
-class ShaderDiscardCase : public ShaderRenderCase<ShaderDiscardCaseInstance>
+class ShaderDiscardCase : public ShaderRenderCase
 {
 public:
                                                ShaderDiscardCase                       (tcu::TestContext& testCtx,
index f6684e3..7a734b1 100644 (file)
@@ -326,6 +326,59 @@ void UniformSetup::setup (ShaderRenderCaseInstance& instance, const tcu::Vec4& c
                m_setupFunc(instance, constCoords);
 }
 
+// ShaderRenderCase.
+
+ShaderRenderCase::ShaderRenderCase (tcu::TestContext& testCtx,
+                                                                       const std::string& name,
+                                                                       const std::string& description,
+                                                                       bool isVertexCase,
+                                                                       ShaderEvalFunc evalFunc,
+                                                                       UniformSetup* uniformSetup,
+                                                                       AttributeSetupFunc attribFunc)
+       : vkt::TestCase(testCtx, name, description)
+       , m_isVertexCase(isVertexCase)
+       , m_evaluator(new ShaderEvaluator(evalFunc))
+       , m_uniformSetup(uniformSetup ? uniformSetup : new UniformSetup())
+       , m_attribFunc(attribFunc)
+{}
+
+ShaderRenderCase::ShaderRenderCase (tcu::TestContext& testCtx,
+                                                                       const std::string& name,
+                                                                       const std::string& description,
+                                                                       bool isVertexCase,
+                                                                       ShaderEvaluator* evaluator,
+                                                                       UniformSetup* uniformSetup,
+                                                                       AttributeSetupFunc attribFunc)
+       : vkt::TestCase(testCtx, name, description)
+       , m_isVertexCase(isVertexCase)
+       , m_evaluator(evaluator)
+       , m_uniformSetup(uniformSetup ? uniformSetup : new UniformSetup())
+       , m_attribFunc(attribFunc)
+{}
+
+
+ShaderRenderCase::~ShaderRenderCase (void)
+{
+       delete m_evaluator;
+       m_evaluator = DE_NULL;
+       delete m_uniformSetup;
+       m_uniformSetup = DE_NULL;
+}
+
+void ShaderRenderCase::initPrograms (vk::ProgramCollection<glu::ProgramSources>& programCollection) const
+{
+       programCollection.add("vert") << glu::VertexSource(m_vertShaderSource);
+       programCollection.add("frag") << glu::FragmentSource(m_fragShaderSource);
+}
+
+TestInstance* ShaderRenderCase::createInstance (Context& context) const
+{
+       DE_ASSERT(m_evaluator != DE_NULL);
+       DE_ASSERT(m_uniformSetup != DE_NULL);
+       return new ShaderRenderCaseInstance(context, m_isVertexCase, *m_evaluator, *m_uniformSetup, m_attribFunc);
+}
+
+
 // ShaderRenderCaseInstance.
 
 ShaderRenderCaseInstance::ShaderRenderCaseInstance (Context& context, bool isVertexCase, ShaderEvaluator& evaluator, UniformSetup& uniformSetup, AttributeSetupFunc attribFunc)
index 93c3059..9206bec 100644 (file)
@@ -187,7 +187,6 @@ private:
 
 typedef void (*AttributeSetupFunc) (ShaderRenderCaseInstance& instance, deUint32 numVertices);
 
-template<typename Instance>
 class ShaderRenderCase : public vkt::TestCase
 {
 public:
@@ -197,13 +196,7 @@ public:
                                                                                                 bool isVertexCase,
                                                                                                 ShaderEvalFunc evalFunc,
                                                                                                 UniformSetup* uniformSetup,
-                                                                                                AttributeSetupFunc attribFunc)
-                                                               : vkt::TestCase(testCtx, name, description)
-                                                               , m_isVertexCase(isVertexCase)
-                                                               , m_evaluator(new ShaderEvaluator(evalFunc))
-                                                               , m_uniformSetup(uniformSetup ? uniformSetup : new UniformSetup())
-                                                               , m_attribFunc(attribFunc)
-                                                       {}
+                                                                                                AttributeSetupFunc attribFunc);
 
                                                        ShaderRenderCase        (tcu::TestContext& testCtx,
                                                                                                 const std::string& name,
@@ -211,35 +204,12 @@ public:
                                                                                                 bool isVertexCase,
                                                                                                 ShaderEvaluator* evaluator,
                                                                                                 UniformSetup* uniformSetup,
-                                                                                                AttributeSetupFunc attribFunc)
-                                                               : vkt::TestCase(testCtx, name, description)
-                                                               , m_isVertexCase(isVertexCase)
-                                                               , m_evaluator(evaluator)
-                                                               , m_uniformSetup(uniformSetup ? uniformSetup : new UniformSetup())
-                                                               , m_attribFunc(attribFunc)
-                                                       {}
-
-
-       virtual                                 ~ShaderRenderCase       (void)
-                                                       {
-                                                               delete m_evaluator;
-                                                               m_evaluator = DE_NULL;
-                                                               delete m_uniformSetup;
-                                                               m_uniformSetup = DE_NULL;
-                                                       }
-
-       virtual void                    initPrograms            (vk::ProgramCollection<glu::ProgramSources>& programCollection) const
-                                                       {
-                                                               programCollection.add("vert") << glu::VertexSource(m_vertShaderSource);
-                                                               programCollection.add("frag") << glu::FragmentSource(m_fragShaderSource);
-                                                       }
-
-       virtual TestInstance*   createInstance          (Context& context) const
-                                                       {
-                                                               DE_ASSERT(m_evaluator != DE_NULL);
-                                                               DE_ASSERT(m_uniformSetup != DE_NULL);
-                                                               return new Instance(context, m_isVertexCase, *m_evaluator, *m_uniformSetup, m_attribFunc);
-                                                       }
+                                                                                                AttributeSetupFunc attribFunc);
+
+
+       virtual                                 ~ShaderRenderCase       (void);
+       virtual void                    initPrograms            (vk::ProgramCollection<glu::ProgramSources>& programCollection) const;
+       virtual TestInstance*   createInstance          (Context& context) const;
 
 protected:
        std::string                             m_vertShaderSource;