From 3bb836ef57cb5b8ddd048eec9817acd9f6ea2d26 Mon Sep 17 00:00:00 2001 From: Peter Gal Date: Thu, 17 Sep 2015 17:26:15 +0200 Subject: [PATCH] ShaderRenderCase: Remove template argument from the ShaderRenderCase --- .../shaderrendercase/vktShaderDiscardTests.cpp | 2 +- .../shaderrendercase/vktShaderRenderCase.cpp | 53 ++++++++++++++++++++++ .../shaderrendercase/vktShaderRenderCase.hpp | 44 +++--------------- 3 files changed, 61 insertions(+), 38 deletions(-) diff --git a/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderDiscardTests.cpp b/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderDiscardTests.cpp index cd7834e..819e5c6 100644 --- a/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderDiscardTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderDiscardTests.cpp @@ -111,7 +111,7 @@ ShaderDiscardCaseInstance::~ShaderDiscardCaseInstance (void) } } -class ShaderDiscardCase : public ShaderRenderCase +class ShaderDiscardCase : public ShaderRenderCase { public: ShaderDiscardCase (tcu::TestContext& testCtx, diff --git a/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp b/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp index f6684e3..7a734b1 100644 --- a/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp +++ b/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp @@ -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& 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) diff --git a/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp b/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp index 93c3059..9206bec 100644 --- a/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp +++ b/external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp @@ -187,7 +187,6 @@ private: typedef void (*AttributeSetupFunc) (ShaderRenderCaseInstance& instance, deUint32 numVertices); -template 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& 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& programCollection) const; + virtual TestInstance* createInstance (Context& context) const; protected: std::string m_vertShaderSource; -- 2.7.4