ShaderRenderCase: remove UniquePtr from the AllocationSp typedef and use UniquePtrs...
authorPeter Gal <pgal.u-szeged@partner.samsung.com>
Thu, 29 Oct 2015 19:09:53 +0000 (20:09 +0100)
committerPeter Gal <pgal.u-szeged@partner.samsung.com>
Thu, 12 Nov 2015 18:54:16 +0000 (19:54 +0100)
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.cpp
external/vulkancts/modules/vulkan/shaderrendercase/vktShaderRenderCase.hpp

index a8e709e..3b68c23 100644 (file)
@@ -442,10 +442,6 @@ ShaderRenderCase::ShaderRenderCase (tcu::TestContext&                      testCtx,
 
 ShaderRenderCase::~ShaderRenderCase (void)
 {
-       delete m_evaluator;
-       m_evaluator = DE_NULL;
-       delete m_uniformSetup;
-       m_uniformSetup = DE_NULL;
 }
 
 void ShaderRenderCase::initPrograms (vk::SourceCollections& programCollection) const
@@ -575,7 +571,7 @@ void ShaderRenderCaseInstance::setupUniformData (deUint32 bindingLocation, deUin
        uniformInfo->location = bindingLocation;
        uniformInfo->buffer = VkBufferSp(new vk::Unique<VkBuffer>(buffer));
        uniformInfo->bufferView = VkBufferViewSp(new vk::Unique<VkBufferView>(bufferView));
-       uniformInfo->alloc = AllocationSp(new de::UniquePtr<vk::Allocation>(alloc));
+       uniformInfo->alloc = AllocationSp(alloc.release());
 
        m_uniformInfos.push_back(UniformInfoSp(new de::UniquePtr<UniformInfo>(uniformInfo)));
 }
@@ -642,7 +638,7 @@ void ShaderRenderCaseInstance::addAttribute (deUint32               bindingLocation,
        flushMappedMemoryRange(vk, vkDevice, alloc->getMemory(), alloc->getOffset(), inputSize);
 
        m_vertexBuffers.push_back(VkBufferSp(new vk::Unique<VkBuffer>(buffer)));
-       m_vertexBufferAllocs.push_back(AllocationSp(new de::UniquePtr<vk::Allocation>(alloc)));
+       m_vertexBufferAllocs.push_back(AllocationSp(alloc.release()));
 }
 
 void ShaderRenderCaseInstance::useAttribute (deUint32 bindingLocation, BaseAttributeType type)
@@ -1062,7 +1058,7 @@ void ShaderRenderCaseInstance::useSampler2D (deUint32 bindingLocation, deUint32
        uniform->image = VkImageSp(new vk::Unique<VkImage>(vkTexture));
        uniform->imageView = VkImageViewSp(new vk::Unique<VkImageView>(imageView));
        uniform->sampler = VkSamplerSp(new vk::Unique<VkSampler>(sampler));
-       uniform->alloc = AllocationSp(new de::UniquePtr<vk::Allocation>(allocation));
+       uniform->alloc = AllocationSp(allocation.release());
 
        m_descriptorSetLayoutBuilder.addSingleSamplerBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, vk::VK_SHADER_STAGE_FRAGMENT_BIT, &uniform->descriptor.sampler);
        m_descriptorPoolBuilder.addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER);
index 07f155c..068b25a 100644 (file)
@@ -203,35 +203,35 @@ typedef void (*AttributeSetupFunc) (ShaderRenderCaseInstance& instance, deUint32
 class ShaderRenderCase : public vkt::TestCase
 {
 public:
-                                                               ShaderRenderCase        (tcu::TestContext&                      testCtx,
-                                                                                                        const std::string&                     name,
-                                                                                                        const std::string&                     description,
-                                                                                                        const bool                                     isVertexCase,
-                                                                                                        const ShaderEvalFunc           evalFunc,
-                                                                                                        const UniformSetup*            uniformSetup,
-                                                                                                        const AttributeSetupFunc       attribFunc);
-
-                                                               ShaderRenderCase        (tcu::TestContext&                      testCtx,
-                                                                                                        const std::string&                     name,
-                                                                                                        const std::string&                     description,
-                                                                                                        const bool                                     isVertexCase,
-                                                                                                        const ShaderEvaluator*         evaluator,
-                                                                                                        const UniformSetup*            uniformSetup,
-                                                                                                        const AttributeSetupFunc       attribFunc);
-
-
-       virtual                                         ~ShaderRenderCase       (void);
-       virtual void                            initPrograms            (vk::SourceCollections& programCollection) const;
-       virtual TestInstance*           createInstance          (Context& context) const;
+                                                                                                       ShaderRenderCase        (tcu::TestContext&                      testCtx,
+                                                                                                                                                const std::string&                     name,
+                                                                                                                                                const std::string&                     description,
+                                                                                                                                                const bool                                     isVertexCase,
+                                                                                                                                                const ShaderEvalFunc           evalFunc,
+                                                                                                                                                const UniformSetup*            uniformSetup,
+                                                                                                                                                const AttributeSetupFunc       attribFunc);
+
+                                                                                                       ShaderRenderCase        (tcu::TestContext&                      testCtx,
+                                                                                                                                                const std::string&                     name,
+                                                                                                                                                const std::string&                     description,
+                                                                                                                                                const bool                                     isVertexCase,
+                                                                                                                                                const ShaderEvaluator*         evaluator,
+                                                                                                                                                const UniformSetup*            uniformSetup,
+                                                                                                                                                const AttributeSetupFunc       attribFunc);
+
+
+       virtual                                                                                 ~ShaderRenderCase       (void);
+       virtual void                                                                    initPrograms            (vk::SourceCollections& programCollection) const;
+       virtual TestInstance*                                                   createInstance          (Context& context) const;
 
 protected:
-       std::string                                     m_vertShaderSource;
-       std::string                                     m_fragShaderSource;
+       std::string                                                                             m_vertShaderSource;
+       std::string                                                                             m_fragShaderSource;
 
-       const bool                                      m_isVertexCase;
-       const ShaderEvaluator*          m_evaluator;
-       const UniformSetup*                     m_uniformSetup;
-       const AttributeSetupFunc        m_attribFunc;
+       const bool                                                                              m_isVertexCase;
+       const de::UniquePtr<const ShaderEvaluator>              m_evaluator;
+       const de::UniquePtr<const UniformSetup>                 m_uniformSetup;
+       const AttributeSetupFunc                                                m_attribFunc;
 };
 
 
@@ -478,7 +478,7 @@ private:
        typedef de::SharedPtr<vk::Unique<vk::VkImage> >                 VkImageSp;
        typedef de::SharedPtr<vk::Unique<vk::VkImageView> >             VkImageViewSp;
        typedef de::SharedPtr<vk::Unique<vk::VkSampler> >               VkSamplerSp;
-       typedef de::SharedPtr<de::UniquePtr<vk::Allocation> >   AllocationSp;
+       typedef de::SharedPtr<vk::Allocation>                                   AllocationSp;
 
        class UniformInfo
        {