Various memory leak fixes in Vulkan
BUG=skia:6101
Change-Id: Iee798dd2d9dcc4521f643b814e65029b9383cc6f
Reviewed-on: https://skia-review.googlesource.com/6696
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/vk/GrVkCopyManager.cpp b/src/gpu/vk/GrVkCopyManager.cpp
index 7b2c734..b1f8f2a 100644
--- a/src/gpu/vk/GrVkCopyManager.cpp
+++ b/src/gpu/vk/GrVkCopyManager.cpp
@@ -25,6 +25,13 @@
#include "SkPoint.h"
#include "SkRect.h"
+GrVkCopyManager::GrVkCopyManager()
+ : fVertShaderModule(VK_NULL_HANDLE)
+ , fFragShaderModule(VK_NULL_HANDLE)
+ , fPipelineLayout(VK_NULL_HANDLE) {}
+
+GrVkCopyManager::~GrVkCopyManager() {}
+
bool GrVkCopyManager::createCopyProgram(GrVkGpu* gpu) {
const GrShaderCaps* shaderCaps = gpu->caps()->shaderCaps();
const char* version = shaderCaps->versionDeclString();
@@ -125,8 +132,8 @@
fVertexBuffer->updateData(vdata, sizeof(vdata));
// We use 2 vec4's for uniforms
- fUniformBuffer = GrVkUniformBuffer::Create(gpu, 8 * sizeof(float));
- SkASSERT(fUniformBuffer);
+ fUniformBuffer.reset(GrVkUniformBuffer::Create(gpu, 8 * sizeof(float)));
+ SkASSERT(fUniformBuffer.get());
return true;
}
@@ -154,7 +161,7 @@
SkASSERT(VK_NULL_HANDLE == fFragShaderModule &&
VK_NULL_HANDLE == fPipelineLayout &&
nullptr == fVertexBuffer.get() &&
- nullptr == fUniformBuffer);
+ nullptr == fUniformBuffer.get());
if (!this->createCopyProgram(gpu)) {
SkDebugf("Failed to create copy program.\n");
return false;
@@ -392,7 +399,7 @@
if (fUniformBuffer) {
fUniformBuffer->release(gpu);
- fUniformBuffer = nullptr;
+ fUniformBuffer.reset();
}
}
@@ -403,6 +410,6 @@
if (fUniformBuffer) {
fUniformBuffer->abandon();
- fUniformBuffer = nullptr;
+ fUniformBuffer.reset();
}
}