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