Fix memory crash in vulakn writeUniformBuffers
authoregdaniel <egdaniel@google.com>
Fri, 26 Feb 2016 21:06:55 +0000 (13:06 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 26 Feb 2016 21:06:55 +0000 (13:06 -0800)
BUG=skia:5021
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1737593005

Review URL: https://codereview.chromium.org/1737593005

src/gpu/vk/GrVkProgram.cpp

index cec3eee..00f01b7 100644 (file)
@@ -202,10 +202,10 @@ void GrVkProgram::writeUniformBuffers(const GrVkGpu* gpu) {
     uint32_t firstUniformWrite = 0;
     uint32_t uniformBindingUpdateCount = 0;
 
+    VkDescriptorBufferInfo vertBufferInfo;
     // Vertex Uniform Buffer
     if (fVertexUniformBuffer.get()) {
         ++uniformBindingUpdateCount;
-        VkDescriptorBufferInfo vertBufferInfo;
         memset(&vertBufferInfo, 0, sizeof(VkDescriptorBufferInfo));
         vertBufferInfo.buffer = fVertexUniformBuffer->buffer();
         vertBufferInfo.offset = 0;
@@ -223,13 +223,13 @@ void GrVkProgram::writeUniformBuffers(const GrVkGpu* gpu) {
         descriptorWrites[0].pTexelBufferView = nullptr;
     }
 
+    VkDescriptorBufferInfo fragBufferInfo;
     // Fragment Uniform Buffer
     if (fFragmentUniformBuffer.get()) {
         if (0 == uniformBindingUpdateCount) {
             firstUniformWrite = 1;
         }
         ++uniformBindingUpdateCount;
-        VkDescriptorBufferInfo fragBufferInfo;
         memset(&fragBufferInfo, 0, sizeof(VkDescriptorBufferInfo));
         fragBufferInfo.buffer = fFragmentUniformBuffer->buffer();
         fragBufferInfo.offset = 0;