Vulkan: Support Texture redefinition.

Because initializing the texture can queue a copy from a staging
vk::Image, we must ensure we're not in a render pass. To make this
easier we move the current render pass tracking into the RendererVk
from the FramebufferVk class. (Note: in the future we will have
deferred command submission and this will become unnecessary.)

BUG=angleproject:2200

Change-Id: Ide8d4d70b50efbd79bbfa7006ad75cbc57cdf4c7
Reviewed-on: https://chromium-review.googlesource.com/741549
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.h b/src/libANGLE/renderer/vulkan/FramebufferVk.h
index 3e5f00c..6439521 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.h
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.h
@@ -83,14 +83,10 @@
 
     gl::Error getSamplePosition(size_t index, GLfloat *xy) const override;
 
-    gl::Error ensureInRenderPass(const gl::Context *context,
-                                 VkDevice device,
-                                 vk::CommandBuffer *commandBuffer,
-                                 Serial queueSerial,
-                                 const gl::State &glState);
-    void endRenderPass(vk::CommandBuffer *commandBuffer);
-
-    bool isInRenderPass() const { return mInRenderPass; }
+    gl::Error beginRenderPass(const gl::Context *context,
+                              VkDevice device,
+                              vk::CommandBuffer *commandBuffer,
+                              Serial queueSerial);
 
     gl::ErrorOrResult<vk::RenderPass *> getRenderPass(const gl::Context *context, VkDevice device);
 
@@ -105,7 +101,6 @@
 
     vk::RenderPass mRenderPass;
     vk::Framebuffer mFramebuffer;
-    bool mInRenderPass;
 };
 
 }  // namespace rx